簡體   English   中英

文件只打印最后一行

[英]File only print last line

while() {
    ...

    if (y == 1)
    {
        printf("success\n");
        FILE* fp2 = fopen("output.txt", "w");
        fprintf(fp2, "%d \n", a);
        fclose(fp2);
        break;
    }

}

如果滿足條件,我想將a值打印到文件中並在程序中成功。

程序中打印了很多滿足條件的a值,但是我查看 output.txt 文件時,只有最后a的值。

使用break; 就是滿足條件跳出循環。

我想打印通過循環獲得的所有a

如何將所有a打印到文件中?

有兩個問題:

  1. 首先,一旦你打印了第a ,你就會主動打破(停止)循環。 如果要打印循環計算出a所有可能值,則需要讓循環繼續。 要么什么都不做,要么可能使用continue從循環的頂部開始。

  2. 解決上述問題后,您將在循環中多次打開、關閉和重新打開文件。 因為每次打開文件時都使用模式"w" ,文件將被截斷並且所有當前內容都將丟失。

    而是在循環之前打開文件一次,在循環內保持打開狀態,並在循環實際結束時關閉它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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