24小时热门版块排行榜    

查看: 875  |  回复: 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的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +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的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
youngfi: 金币+8, ★★★很有帮助 2013-07-20 19:44:57
#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;
}

我这样写,没有问题
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
5楼2013-07-20 18:47:05
已阅   回复此楼   关注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的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

c++ 版
CODE:
#include<iostream>
#include<fstream>
#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;
                ofstream myfile(filename);
                myfile << 0 <<endl;
                myfile.close();
        }

        //读文件
        for (i=0; i<3; i++){
                sprintf(filename,"t%d.txt",i);
                cout << filename <<endl;
                ifstream myfile(filename);
                myfile >> natom;
                cout << natom <<endl;
                myfile.close();
        }

        return 0;
}

我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
7楼2013-07-20 19:03:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 youngfi 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +4 jiajunX 2026-03-22 4/200 2026-03-23 14:21 by xiaotangjing
[考研] 352求调剂 +3 大米饭! 2026-03-22 3/150 2026-03-22 23:28 by king123!
[考研] 328求调剂,英语六级551,有科研经历 +6 生物工程调剂 2026-03-17 10/500 2026-03-22 20:22 by edmund7
[考研] 289材料与化工(085600)B区求调剂 +3 这么名字咋样 2026-03-22 4/200 2026-03-22 17:56 by 云民大李老师
[考研] 298求调剂一志愿211 +3 上岸6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[考研] 能源材料化学课题组招收硕士研究生8-10名 +5 脱颖而出 2026-03-16 17/850 2026-03-22 15:18 by 脱颖而出
[考研] 生物学调剂 +5 Surekei 2026-03-21 5/250 2026-03-22 14:39 by tcx007
[考研] 0856材料专硕353求调剂 +4 NIFFFfff 2026-03-20 4/200 2026-03-22 09:49 by 2026paper
[考研] 297求调剂 +11 戏精丹丹丹 2026-03-17 12/600 2026-03-21 17:47 by ColorlessPI
[考研] 材料 271求调剂 +5 展信悦_ 2026-03-21 5/250 2026-03-21 17:29 by 学员8dgXkO
[考研] 302求调剂 +12 呼呼呼。。。。 2026-03-17 12/600 2026-03-21 17:29 by ColorlessPI
[考研] 299求调剂 +4 某某某某位 2026-03-21 4/200 2026-03-21 16:30 by barlinike
[考研] 083200学硕321分一志愿暨南大学求调剂 +3 innocenceF 2026-03-17 3/150 2026-03-21 02:35 by JourneyLucky
[考研] 一志愿华中科技大学,080502,354分求调剂 +5 守候夕阳CF 2026-03-18 5/250 2026-03-21 01:06 by JourneyLucky
[考研] 295求调剂 +4 一志愿京区211 2026-03-18 6/300 2026-03-20 23:41 by JourneyLucky
[考研] A区线材料学调剂 +5 周周无极 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[考研] 一志愿南理工085701环境302求调剂院校 +3 葵梓卫队 2026-03-20 3/150 2026-03-20 19:28 by zhukairuo
[考研] 材料与化工求调剂 +7 为学666 2026-03-16 7/350 2026-03-19 14:48 by 尽舜尧1
[考研] 材料,纺织,生物(0856、0710),化学招生啦 +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
信息提示
请填处理意见