看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C 語言 問題(Question): 想要在迴圈裡面多次輸出不同的檔案 但是輸出的檔案名稱其中一部分會隨著變動 目前我這樣寫雖然可以輸出多個txt檔 但是不知為何名稱變成亂碼@@ 程式碼如下: char file_start[15] = "Results_time_"; //這部分名稱是固定的 char file_end[15] = ".text"; char order; //這部分名稱會隨著下面迴圈跑到哪裡而改 for(i=0;i<100;i++) { if(i%5==0) //當i除以5為整數時才輸出檔案 { order = (char)(i); string a; a.assign ( file_start + order + file_end ); Results = fopen ( a, "w+"); } } 不知道為什麼輸出結果的檔名是一堆亂碼@@... 先謝謝大家了:) } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 126.88.207.102 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1414514452.A.4AC.html
LPH66: a.assign 這裡錯了, 你應該先 assign 第一部份 10/29 00:42
LPH66: 再用 a += order; a += file_end; 黏上去 10/29 00:42
LPH66: 主要原因是 file_start file_end 是 C 字串不是字串物件 10/29 00:43
LPH66: 所以對它們用 + 是錯誤的作法 10/29 00:43
LPH66: 而 a 則是字串物件了, 所以可以對它用 + += 等操作 10/29 00:44
LPH66: 另外如果你是要黏 i 的數值的話, + i 或 + order 都不行 10/29 00:45
LPH66: 這種你應該需要 stringstream 物件幫你黏字串 10/29 00:46
belle800620: 先謝謝你:)我嘗試用了你說的a+=,但是他說我的a是 10/29 00:56
belle800620: undeclared identifier @@ 為什麼啊... 10/29 00:57
dirkc: 編譯器認為它未宣告;你可以看看宣告的那行是否哪裡有錯 10/29 11:56