[英]Writing and reading CSV file in C wierd output
我是C語言的新手,我正在嘗試將數據保存到.csv並在一個非常簡單的程序中讀取相同的數據。
char c;
FILE *fp;
fp = fopen("file.csv", "w+");
fprintf(fp, "Hello;World\nLine");
fclose(fp);
fp = fopen("file.csv", "r");
while (getc(fp) != EOF) {
printf("%c", getc(fp));
}
fclose(fp);
我不知道為什么輸出錯誤:
el;ol
ie
提前致謝
因為您正在循環條件下讀取一個字符(因此在打印時它會每隔一個打印出一個字符),而在打印時會讀取另一個字符。 嘗試這個:
int ch;
while ((ch=getc(fp)) != EOF) {
printf("%c", ch);
}
這里:
while (getc(fp) != EOF) {
printf("%c", getc(fp));
}
您每次在循環中都兩次調用getc()
,但僅輸出一個字符。 這樣您就可以節省一半的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.