| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1516 人关注过本帖
标题:从文件调用数据输出到屏幕上遇到问题
只看楼主 加入收藏
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
结帖率:68%
收藏
已结贴  问题点数:10 回复次数:9 
从文件调用数据输出到屏幕上遇到问题
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<string>
using namespace std;
int main()
{
    string str;
    ifstream infile("1.txt");
    if(! infile)
    {
        cerr<<"error"<<endl;
        exit(1);
    }
    infile>>str;
    cout<<str<<endl;
    infile.close();
    system("PAUSE");
    return 0;
}

我已在当前目录下建立了一个1.txt的文件,并在里面输入a b c d e,
运行程序,屏幕显示a.
在txt文件里输入abcde,
运行程序,屏幕显示abcde.
这些我都能理解。
但我想怎么才能把txt中的数据原模原样的在屏幕上输出呢。(我想要的输出结果是a b c d e)
代码应该怎么改呢?

谢了!
搜索更多相关主题的帖子: 屏幕 数据 文件 输出 
2010-07-27 23:25
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:5 
输出的这个地方
    infile>>str;
    cout<<str<<endl;
可以改善一下啊:
    计算读出文件的大小,分段处理,一段一段的输出,就可以达到你的目的了。
    infile>>str;这样做不太好控制吧

授人以鱼不如授人以渔
2010-07-28 10:03
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:5 
你可以用 getline(infile, str);
 
或者你也可以一个字符一个字符的读。
2010-07-29 00:13
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
收藏
得分:0 
回复 3楼 pangding
谢了,你的方法的确可行!
2010-07-30 10:12
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
收藏
得分:0 
回复 2楼 mxs810

3楼的方法可行,你能不能把你的方法说详细点,我也想用你的方法试试。
谢谢。
2010-07-30 10:14
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
收藏
得分:0 
回复 3楼 pangding
用getline(infile,str)如果1..txt有很多内容的话,好像只能在屏幕上显示部分内容。
getline好像有可以限制字符,如果我想把全部内容输出到屏幕应该怎么做呢?
谢了!
2010-07-30 10:25
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:0 
回复 5楼 windyfzz
首先,获得打开文件的长度
然后,根据文件长度,循环每次读出文件的固定位字节数(可以是128或者是别的),并打印出来

getline取一行输出一行应该是比较好的方法了

[ 本帖最后由 mxs810 于 2010-7-30 11:06 编辑 ]

授人以鱼不如授人以渔
2010-07-30 11:05
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
你用循环套着呀,只读一次当然读不全了。

while (getline(infile, str))
    cout << str <<endl;
2010-07-30 12:56
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
收藏
得分:0 
回复 8楼 pangding
谢谢!
2010-07-30 15:54
windyfzz
Rank: 2
等 级:禁止访问
帖 子:90
专家分:12
注 册:2010-7-25
收藏
得分:0 
回复 7楼 mxs810
谢谢!
2010-07-30 15:54
快速回复:从文件调用数据输出到屏幕上遇到问题
数据加载中...
 
   



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

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