24小时热门版块排行榜    

Znn3bq.jpeg
查看: 900  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

youngfi

木虫 (小有名气)

[求助] C++读入大批量文件

#include<iostream>
#include <fstream>
#include <string.h>
#include <stdio.h>

using namespace std;
int main()
{
    int i,natom;
    char filename[10];
   
    for (i=0;i<3;i++)
    {
            sprintf(filename,"t%d.txt",i);
            cout<<filename<<endl;
            ifstream infile("filename",ios:ut);
        infile.seekg(49,ios::beg);
        infile>>natom;
        cout<<natom<<endl;
    }
       
        cout<<"Successfully!"<<endl;
        return 0;
}
为什么使用上述的文件不能正确读取相应的内容呢?在用C++如何读入大量的文件?假设文件名是t1.txt, t2.txt,t3.txt....
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

事情没有你想得那么简单但也没有你想得那么复杂。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

CODE:
#include<iostream>
#include<string>
#include<stdio.h>
using namespace std;

int main()
{
        int i, natom;
        char filename[10];

        //写文件
        for (i=0; i<3; i++){
                sprintf(filename,"t%d.txt",i);
                cout << filename <<endl;
                FILE *fp=fopen(filename,"w");
                fprintf(fp,"0\n");
                fclose(fp);
        }

        //读文件
        for (i=0; i<3; i++){
                sprintf(filename,"t%d.txt",i);
                cout << filename <<endl;
                FILE *fp=fopen(filename,"r");
                fscanf(fp,"%d\n",&natom);
                printf("%d\n",natom);
                fclose(fp);
        }

        return 0;
}

我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
6楼2013-07-20 18:55:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

木叶清风

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
youngfi: 金币+2, 有帮助 2013-07-19 17:01:25
第一,你的文件是否在对应目录下面,因为你使用的是相对路径。如果你使用的是vs,那么在默认情况下,你直接在ide里面调试的时候,你的txt文件需要和你的cpp文件在一起。你直接在命令行里面运行程序的时候txt文件应该和exe文件在一起;
第二,读文件使用ifstream没有错,但是你为什么要使用ios:ut呢,这是给输出流使用的。
www.cvdelver.com
2楼2013-07-19 15:37:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youngfi

木虫 (小有名气)

引用回帖:
2楼: Originally posted by 木叶清风 at 2013-07-19 15:37:42
第一,你的文件是否在对应目录下面,因为你使用的是相对路径。如果你使用的是vs,那么在默认情况下,你直接在ide里面调试的时候,你的txt文件需要和你的cpp文件在一起。你直接在命令行里面运行程序的时候txt文件应该 ...

首先谢谢你的回复。
所需要的问件是放在同一目录下的。只是我想大量的读取很多个txt文件,所以用sprintf函数做了一个filename,但是用这个这个filename读不出来filename.txt的信息,如果我直接 ifstream infile("filename",ios:ut); infile.seekg(49,ios::beg);
        infile>>natom;
就能读出信息,我觉得问题出在这个地方。就是说,用sprintf生成的名称不能正确读取该文件的信息。但是不知道该怎么改。
事情没有你想得那么简单但也没有你想得那么复杂。
3楼2013-07-19 17:07:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youngfi

木虫 (小有名气)

引用回帖:
2楼: Originally posted by 木叶清风 at 2013-07-19 15:37:42
第一,你的文件是否在对应目录下面,因为你使用的是相对路径。如果你使用的是vs,那么在默认情况下,你直接在ide里面调试的时候,你的txt文件需要和你的cpp文件在一起。你直接在命令行里面运行程序的时候txt文件应该 ...

首先谢谢你的回复。
所需要的问件是放在同一目录下的。只是我想大量的读取很多个txt文件,所以用sprintf函数做了一个filename,但是用这个这个filename读不出来filename.txt的信息,如果我直接 ifstream infile("filename",ios:ut); infile.seekg(49,ios::beg);
        infile>>natom;
就能读出信息,我觉得问题出在这个地方。就是说,用sprintf生成的名称不能正确读取该文件的信息。但是不知道该怎么改。
事情没有你想得那么简单但也没有你想得那么复杂。
4楼2013-07-19 17:07:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 297工科调剂? +14 河南农业大学-能 2026-04-13 15/750 2026-04-15 13:25 by 黑科技矿业
[考研] 085500求调剂材料 +11 易11122 2026-04-09 11/550 2026-04-14 17:59 by lhj2009
[考研] 367求调剂 +11 hffQAQ 2026-04-09 11/550 2026-04-14 17:48 by lhj2009
[考研] 化学070300 求调剂 +23 哈哈哈^_^ 2026-04-12 23/1150 2026-04-14 16:30 by zhouxiaoyu
[考研] 材料专业344求调剂 +17 hualkop 2026-04-10 22/1100 2026-04-14 16:21 by sxdj2
[考研] 求调剂 +12 何气正 2026-04-13 13/650 2026-04-14 14:47 by zs92450
[考研] 求调剂 +16 雪逢冬 2026-04-10 16/800 2026-04-14 14:27 by 逆水乘风
[考研] 考研求调剂 +12 子木呐 2026-04-12 13/650 2026-04-14 01:19 by 王珺璞
[考研] 2026硕士调剂_能动_河南农业大学 +4 河南农业大学-能 2026-04-12 4/200 2026-04-13 22:01 by bljnqdcc
[考研] 材料复试求调剂 +24 xhhdjdjsjks 2026-04-09 24/1200 2026-04-13 15:49 by 幸免 ..
[考研] 一志愿双非085400电子信息344 求调剂,对材料和化学方向也感兴趣 +12 无情的小羊 2026-04-09 13/650 2026-04-13 14:17 by 张zhihao
[考研] 生物学调剂 +11 小冉要努力 2026-04-10 13/650 2026-04-13 11:46 by 电化学及催化
[考研] 22408 352分求调剂 +5 努力的夏末 2026-04-09 5/250 2026-04-12 19:17 by wj165256
[考研] 22408调剂315分 +3 zhuangyan123 2026-04-09 3/150 2026-04-12 00:25 by 蓝云思雨
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 农学0904 312求调剂 +6 Say Never 2026-04-10 6/300 2026-04-11 10:33 by wwj2530616
[考研] 297求调剂 +9 Kwgyz 2026-04-09 9/450 2026-04-11 10:09 by zhq0425
[考研] 初试261 +3 Asht少 2026-04-10 6/300 2026-04-10 16:38 by Asht少
[考研] 本科211 工科085400 280分求调剂 可跨专业 +3 LZH(等待调剂中 2026-04-09 3/150 2026-04-09 21:29 by wutongshun
信息提示
请填处理意见