楼主:
holydc (のヮの)
2014-10-29 02:58:42※ 引述《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+");
/* ... */
}
}