我需要我的程序获取一系列文件名(存储在单个“字符串”中并用逗号分隔)并对其进行操作。
伪代码将是:
for each filename in some_string
open filename
operate on contents of filename
close filename
问题是我坚持将 some_string ("filename1,filename2,...,filenamen") 分成 [filename 1]、[filename 2]、... [filename n]。
编辑:澄清一下,保持 some_string 完整并根据需要提取每个文件名似乎更简单,这就是我想要做的。
就目前而言,我的代码非常笨拙(而且非常恶心......)
int j = 0;
char *tempS = strdup(filenames);
while (strchr(tempS, ',')) {
char *ptr = strchr(tempS, ',');
*ptr++ = '.';
numFiles++;
}
for (; j < numFiles; j++) {
char *ptr = strchr(tempS, ',');
//don't know where to go from here...
fin = openFile(tempS);
if (fin != NULL) {
//do something
}
fclose(fin);
}
显然,这还没有完成。我正确地找到了文件的数量,但是在弄清楚如何一次从源字符串中分离一个文件并对其进行操作时,我有点迷茫。