打印

for循环问题

[复制链接]
746|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baidudz|  楼主 | 2012-6-18 22:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一批文件。编号分别为A21G_10001.txt A21G_310-10002.txt A21G_310-10003.txt 直到 A21G_310-10100.txt.
单个读取文件:ifstream fin("A21G_310-10001.txt"),在进行其他操作,可以实现。
现在想写个for循环,对所有文件进行操作,循环如下:
for(int i=1; i<101; ++i)
{
...
ifstream fin("A21G_310-10000+i.txt") 或者 ifstream fin("A21G_310-(10000+i).txt")
...
}

编译通过,但是却不能得到单个读取时的正确结果,请问是怎么回事,谢谢!

相关帖子

沙发
火箭球迷| | 2012-6-18 22:59 | 只看该作者
ifstream fin("A21G_310-10000+i.txt")  
其实你这样打开的文件应该是A21G_310-10000+i.txt。
你需要使用sprintf(name,"A21G_310-1000%d",i);转换你的文件名。

使用特权

评论回复
板凳
gxgclg| | 2012-6-18 23:11 | 只看该作者
ifstream(string(“A21G_310-10000”+i+“.txt”).c_str());
这样试一下。

使用特权

评论回复
地板
pkat| | 2012-6-18 23:20 | 只看该作者
sprintf(name,"A21G_310-1000%d",i);

在这句前面可以加上
char name[100];
memset(name, 0, 100);

在这句的后面加上:
ifstream fin(name);

使用特权

评论回复
5
无冕之王| | 2012-6-18 23:23 | 只看该作者
"A21G_310-10000+i.txt"这个文件的名称就是 A21G_310-10000+i.txt。
sprintf(). swprintf().

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

239

主题

2284

帖子

0

粉丝