這是爲什麼當我在輸出中顯示字符串時,我擁有所有單詞但在最後一行中有一個奇怪的符號,一個ASCII隨機符號...如何在字符串中保存文本文件的內容
我的目標是保存一個字符串中的所有單詞來操作它。
例如,我有這個文件:
Mario
Paul
Tyler
我如何保存所有單詞串?
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int l,i=0,j=0,parole=0;
char A[10][10];
char leggiparola;
char testo[500];
FILE*fp;
fp=fopen("parole.txt","r");
if(fp!=NULL)
{
while(!feof(fp))
{
fscanf(fp,"%c",&leggiparola);
printf("%c", leggiparola);
testo[j]=leggiparola;
j++;
}
}
fclose(fp);
printf("%s",testo);
return 0;
}
也許是因爲您錯誤地使用了'feof'。請參閱[爲什麼「while(!feof(file))」總是錯誤?](http://stackoverflow.com/questions/5431941/why-is-while-feof-file-always-wrong)更好地測試從'fscanf'返回值,以保證它確實掃描了你想要的內容。 –
請注意,當打開文件失敗時,您不應該調用'fclose()'。由於您不使用命令行參數,所以編寫'int main(void)'會更清晰。 –