关于字符串保存到一个一维数组

利用sprintf(list,"d:\sift\(%d).jpg",i);

i的值从1到100

要用一个数组来访问这些字符串

如ch[0]的话访问d:\sift\(0).jpg
如ch[1]的话访问d:\sift\(1).jpg
如ch[2]的话访问d:\sift\(2).jpg
......
如何实现?

使用字符的数组的数组
或者说指向"指向字符的指针"的指针

你需要数组的数组
char ch[100][];

你需要二维数组。char a[字符串大小][字符串个数]

你需要使用二维数组或者指针数组,可以尝试一下

需要定义一个二维数组

 char*  ch[100];
char list[2048];

int total = 0;
for (int i = 0; i < 100; i ++)
{
    int len = snprintf(list + total, 2048 - total, ".....", ....);
    ch[i] = list + total;
    total += len + 1;
}

大致这个样子吧。

要用二维数组,一维数组得用指针数组,申请和释放内存麻烦。
char strlist[100][24];
int i = 0;
while(i < 100)
{
sprintf(strlist[i], "d:\sift\(%d).jpg", i);
}

把list也可以做成一个数组就行了

二维数组,char ch[100][]; 。。。