[英]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
打印到文件中?
有兩個問題:
首先,一旦你打印了第a
,你就會主動打破(停止)循環。 如果要打印循環計算出a
所有可能值,則需要讓循環繼續。 要么什么都不做,要么可能使用continue
從循環的頂部開始。
解決上述問題后,您將在循環中多次打開、關閉和重新打開文件。 因為每次打開文件時都使用模式"w"
,文件將被截斷並且所有當前內容都將丟失。
而是在循環之前打開文件一次,在循環內保持打開狀態,並在循環實際結束時關閉它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.