[问题] 在循环里面重复写出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