一連のファイル名(単一の「文字列」に格納され、コンマで区切られている)を取得し、それらに基づいて動作するプログラムが必要です。
疑似コードは次のようになります。
for each filename in some_string
open filename
operate on contents of filename
close filename
問題は、some_string( "filename1、filename2、...、filenamen")を[filename 1]、[filename 2]、...[filenamen]に分離するのに行き詰まっていることです。
編集:明確にするために、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);
}
明らかに、それは行われていません。ファイルの数は正しくわかりますが、ソース文字列から一度に1つずつ分離して操作する方法を理解することに関しては、少し迷っています。