[問題] 在迴圈裡面重複寫出txt檔

作者: belle800620 (企鵝)   2014-10-29 00:40:49
開發平台(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:00
a.assign 這裡錯了, 你應該先 assign 第一部份再用 a += order; a += file_end; 黏上去主要原因是 file_start file_end 是 C 字串不是字串物件所以對它們用 + 是錯誤的作法而 a 則是字串物件了, 所以可以對它用 + += 等操作另外如果你是要黏 i 的數值的話, + i 或 + order 都不行這種你應該需要 stringstream 物件幫你黏字串
作者: belle800620 (企鵝)   2014-10-29 00:56:00
先謝謝你:)我嘗試用了你說的a+=,但是他說我的a是undeclared identifier @@ 為什麼啊...
作者: dirkc (3781615)   2014-10-29 11:56:00
編譯器認為它未宣告;你可以看看宣告的那行是否哪裡有錯

Links booklink

Contact Us: admin [ a t ] ucptt.com