| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 678 人关注过本帖
标题:从TXT文件中读取数字并输出
只看楼主 加入收藏
fl8962
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:539
专家分:2471
注 册:2012-10-17
结帖率:96.23%
收藏
 问题点数:0 回复次数:2 
从TXT文件中读取数字并输出
一个TXT 文件中存储着数字,但是数字之间有空格将它们分开,并且有换行符。
5 12 32 56
21 21.2 56 38
就是这么一个TXT文件,我想编写一个程序能逐个把其中的数字输出。下面是我的代码:
#include<iostream>
#include<fstream>
#include<vector>
#include<string>
using namespace std;
int main()
{
    ofstream writefile("number.txt");
   if(writefile.good())
     cout<<"can open it"<<endl;
      writefile.close();
    ifstream readfile("number.txt");
    vector<string> reading;
    string op;
    while(readfile>>op)
     {
        if(op!=" "&&op!="\r")
        reading.push_back(op);
        cout<<op;
      }

     vector<string>::iterator a;
     a=reading.begin();
     for(a=reading.begin();a!=reading.end();++a)
      {
          cout<<(*a)<<endl;
      }

     return 0;
}
我学C++只有半年,一些高深的东西还没学到,这是我现在能够想到的思路。请大家帮忙指点下我的错误,告诉我正确的方法。万分感谢。
搜索更多相关主题的帖子: include reading 换行符 
2014-01-16 09:06
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
你的代码……,你想实现什么目的?
比如main代码中前4句,你是不是想清空 number.txt 的内容?如果是,那后面为什么又要读其内容呢?

程序代码:
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iterator>

int main()
{
    std::ifstream file( "number.txt" );
    copy( std::istream_iterator<double>(file), std::istream_iterator<double>(), std::ostream_iterator<double>(std::cout,"\n") );

    return 0;
}
或者
程序代码:
#include <iostream>
#include <fstream>

int main()
{
    std::ifstream file( "number.txt" );
    for( double v; file>>v; )
    {
        std::cout << v << '\n';
    }
    std::cout << std::flush;

    return 0;
}

2014-01-16 11:17
i80286
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:99
专家分:428
注 册:2013-9-30
收藏
得分:0 
while(readfile>>op)
{
    if(op!=" "&&op!="\r")
    reading.push_back(op);
    cout<<op;
 }

改成:
do
{
   readfile>>op;
   if(readfile.eof())
   {
      reading.push_back(op);
      break;
    }
    else
      reading.push_back(op);
}while (!readfile.eof());

还有,如果找不到number.txt,应该选择退出该程序,或者做一个循环,重新输入正确的文件名

ofstream writefile("number.txt");这样会清空该文件,可以改成 ofstream writefile("number.txt",ios::app);

[ 本帖最后由 i80286 于 2014-1-16 11:26 编辑 ]
2014-01-16 11:20
快速回复:从TXT文件中读取数字并输出
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014202 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved