簡體   English   中英

在C wierd輸出中讀寫CSV文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM