我已經得到了這段代碼,最後在我的命令行上使用了一個參數,也就是說它的一個文件可以使用,儘管我設計的代碼具有它的工作原理與無限數量的文件。它所做的是將一些X字符的文本文件(包含用空格分隔的單詞)替換爲\n
,從而創建一個單詞列表。雖然它成功完成了第一個參數,但它只是忽略了第二個參數。C - 使用fopen,fclose,fputc等
另一個小問題似乎是它最後還會打印出一些垃圾信,一個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;
}
[使用文本文件二](http://stackoverflow.com/questions/8649068/working-with-text-files-two)的可能的重複。你在這個問題上接受的答案解釋了你爲什麼會得到額外的垃圾角色。你的代碼在這個問題上繼續是不正確的。 – 2011-12-27 23:56:52
是的,這是我以前的帖子,雖然我已經取得了一些進展,但通常不會在舊帖子上得到回覆,所以我想我可以做出另一個:) – PnP 2011-12-27 23:57:55
我真的不明白爲什麼,如果我誠實 – PnP 2011-12-27 23:58:37