24小时热门版块排行榜    

查看: 866  |  回复: 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

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +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的回帖
查看全部 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料学调剂 +9 提神豆沙包 2026-02-28 11/550 2026-03-01 18:15 by ms629
[考研] 材料类求调剂 +10 wana_kiko 2026-02-28 11/550 2026-03-01 18:11 by 海嵙Y
[考研] 高分子化学与物理调剂 +6 好好好1233 2026-02-28 11/550 2026-03-01 17:47 by 好好好1233
[考研] 328求调剂 +3 aaadim 2026-03-01 5/250 2026-03-01 17:29 by njzyff
[考研] 0856化工专硕求调剂 +10 董boxing 2026-03-01 10/500 2026-03-01 17:19 by 刘兵
[考研] 0856材料求调剂 +4 麻辣鱿鱼 2026-02-28 4/200 2026-03-01 16:51 by caszguilin
[考研] 313求调剂 +3 水流年lc 2026-02-28 3/150 2026-03-01 16:01 by 新能源达人
[考研] 材料化工调剂 +9 今夏不夏 2026-03-01 10/500 2026-03-01 16:01 by hmn_wj
[考研] 295求调剂 +6 19171856320 2026-02-28 6/300 2026-03-01 15:52 by jxstnuZYX
[考研] 311求调剂 +6 亭亭亭01 2026-03-01 6/300 2026-03-01 15:41 by 324616
[考研] 0856调剂 +4 刘梦微 2026-02-28 4/200 2026-03-01 15:35 by 吸一口猫气
[考研] 303求调剂 +4 今夏不夏 2026-03-01 4/200 2026-03-01 14:46 by 嘟嘟小浣熊
[考研] 求调剂 +6 repeatt?t 2026-02-28 6/300 2026-03-01 14:37 by Sakura绘
[考研] 295复试调剂 +3 简木ChuFront 2026-03-01 3/150 2026-03-01 14:27 by zzxw520th
[考研] 306分材料调剂 +3 chuanzhu川烛 2026-03-01 4/200 2026-03-01 12:32 by houyaoxu
[考研] 272求调剂 +5 材紫有化 2026-02-28 5/250 2026-03-01 11:51 by gaoxiaoniuma
[考研] 317一志愿华南理工电气工程求调剂 +6 Soliloquy_Q 2026-02-28 11/550 2026-03-01 11:14 by 歌liekkas
[考研] 292求调剂 +3 yhk_819 2026-02-28 3/150 2026-02-28 21:57 by gaoxiaoniuma
[考研] 264求调剂 +3 巴拉巴拉根556 2026-02-28 3/150 2026-02-28 21:31 by gaoxiaoniuma
[考研] 276求调剂 +3 路lyh123 2026-02-28 4/200 2026-02-28 19:45 by 路lyh123
信息提示
请填处理意见