※ 引述《belle800620 (企鵝)》之銘言:
: 開發平台(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+");
: }
: }
: 不知道為什麼輸出結果的檔名是一堆亂碼@@...
: 先謝謝大家了:)
: }
看到開發平台是 C 語言又看到 string 讓我很困惑 XD
我覺得這種東西用 format string 做比較簡單
int i = -1;
for (i = 0; i < 100; ++i) {
if ((i % 5) == 0) {
char file_name[64];
FILE *results = NULL;
sprintf(file_name, "Results_time_%d.txt", i);
results = fopen(file_name, "w+");
/* ... */
}
}