このコードは最終的に、コマンド ラインで 1 つの引数、つまり 1 つのファイルで動作するようになりましたが、無制限の数のファイルで動作するという概念でコードを設計しました。それが行うことは、スペースで区切られた単語を含むX個のテキストファイルを取り、スペースを置き換えて\n
単語のリストを作成することです。ただし、最初の引数は正常に完了しますが、2 番目の引数は無視されます。
もう 1 つの小さな問題は、最後にゴミ文字 (上に 2 つのドットがある Y) も出力するようです。私はいくつかのEOFシンボルを想定していますが、それを止めることはできません!
int main(int argc, char** argv) {
FILE *fpIn, *fpOut;
int i, j;
j = 1;
char c;
char myString[256];
printf("%d", argc);
printf("\n");
printf("The following arguments were passed to main(): ");
for(i=1; i<argc; i++) printf("%s ", argv[i]);
printf("\n");
while(argc--) {
for(i = 1; i < argc; i++) {
fpIn = fopen(argv[j], "rb");
snprintf(myString, 256, "%s~[%d]", argv[j], i);
fpOut= fopen(myString, "wb");
while (c != EOF) {
c = fgetc(fpIn);
if (isspace(c))
c = '\n';
fputc(c, fpOut );
}
j++;
}
}
return 0;
}