[問題] 輸出到txt檔的小問題

看板C_and_CPP作者 (天佑台灣)時間13年前 (2010/08/11 14:20), 編輯推噓1(1018)
留言19則, 7人參與, 最新討論串1/1
其中一段程式碼 FILE *pfile; pfile = fopen ("output.txt" , "w"); //if ( pfile != NULL ) { for(i=1;i<=m;i++){ fprintf(pfile," %.2f \n",b[i][1]); fclose (pfile); } //} 我想要輸出到txt檔裡的是b[1][1] b[2][1] 的值,可是目前跑出來的都是只有b[1][1]的值 b[3][1] ... 請問我是忽略了那個地方嗎? 謝謝大家的指教! 更改後: for(i=1;i<=m;i++) {for(j=1;j<=n;j++) {a[i][1]=rand()%100+1; b[i][j]=a[i][1]; } FILE *pfile; pfile = fopen ("output.txt" , "w"); if ( pfile != NULL ) { fprintf(pfile," %.2f \n",a[i][1]); fclose (pfile); } } 目前改成這樣 如果弄成stdout會顯示出我要的,可是如果用pfile就只會顯示a[m][1] 那一個項目,真是有點GG = =a -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.72.65

08/11 14:25, , 1F
fclose的位置不對吧?
08/11 14:25, 1F

08/11 14:29, , 2F
那應該是?
08/11 14:29, 2F

08/11 14:29, , 3F
loop跑完之後再close
08/11 14:29, 3F

08/11 14:44, , 4F
怎麼還是都只顯示一個=ˇ=
08/11 14:44, 4F

08/11 15:00, , 5F
m的值?,請自己用debugger跑一遍...
08/11 15:00, 5F

08/11 15:11, , 6F
m的值是輸入的
08/11 15:11, 6F

08/11 15:13, , 7F
fprintf 後面加個 printf 看看螢幕上印的對不對 XD
08/11 15:13, 7F

08/11 15:32, , 8F
fprintf(stdio," %.2f \n",b[i][1]); //try this
08/11 15:32, 8F

08/11 15:32, , 9F
stdin
08/11 15:32, 9F

08/11 15:40, , 10F
樓上的方法 TXT檔變空白0.0
08/11 15:40, 10F

08/11 16:04, , 11F
stdin就是印在螢幕上阿!!
08/11 16:04, 11F

08/11 16:05, , 12F
樓上耍笨 XD
08/11 16:05, 12F

08/11 16:05, , 13F
囧...是stdout,我在做什麼
08/11 16:05, 13F

08/11 16:08, , 14F
http://ppt.cc/gen.php stdout就是標準輸出的檔案指標
08/11 16:08, 14F

08/11 16:25, , 15F
冏了= = 用STDOUT跑出來有顯示= =到TEX檔就只有一個ㄆㄆ
08/11 16:25, 15F

08/11 16:41, , 16F
原po改過的新code呢? 放上來參考一下吧 XD
08/11 16:41, 16F
※ 編輯: nnishyang 來自: 140.134.72.65 (08/11 16:46)

08/11 16:50, , 17F
http://ppt.cc/1lEt 搞清楚"w"模式開檔它會怎麼開, 如
08/11 16:50, 17F

08/11 16:51, , 18F
果你要寫完馬上關檔, 應該是"a"會比較符合你的需求
08/11 16:51, 18F

08/11 16:52, , 19F
用"w"就要把開檔寫在外層loop前面, 關檔寫在後面
08/11 16:52, 19F
文章代碼(AID): #1COa4NG4 (C_and_CPP)