開發平台(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+");
}
}
不知道為什麼輸出結果的檔名是一堆亂碼@@...
先謝謝大家了:)
}
作者:
LPH66 (-6.2598534e+18f)
2014-10-29 00:42:00a.assign 這裡錯了, 你應該先 assign 第一部份再用 a += order; a += file_end; 黏上去主要原因是 file_start file_end 是 C 字串不是字串物件所以對它們用 + 是錯誤的作法而 a 則是字串物件了, 所以可以對它用 + += 等操作另外如果你是要黏 i 的數值的話, + i 或 + order 都不行這種你應該需要 stringstream 物件幫你黏字串