查看: 1820|回复: 17

文本读取

[复制链接]

该用户从未签到

发表于 2009-10-22 15:07:31 | 显示全部楼层 |阅读模式
怎样将文本文件中内容 全部读取到字符串中 文本文件中有多行

该用户从未签到

发表于 2009-10-22 15:24:08 | 显示全部楼层
这没有什么,例如下面的代码:

  1. const char* textString = {
  2.         "人生若只如初见,何事秋风悲画扇;\n"
  3.         "等闲变却故人心,却道故人心易变。\n"
  4.         "骊山语罢清宵半,夜雨霖铃终不怨;\n"
  5.         "何如薄幸锦衣郎,比翼连枝当日愿。"
  6.     };
复制代码

经过mbstowcs变换为wchar_t并设置给Text类之后,就可以显示多行文字了

该用户从未签到

 楼主| 发表于 2009-10-22 15:32:53 | 显示全部楼层
谢谢array,是我没有问清楚,我的意思是说,怎样把文本文件中的内容全部读到 一个string 类型的变量中

该用户从未签到

发表于 2009-10-22 15:45:24 | 显示全部楼层
我参照第四版C++编程语言……

        std::ifstream ifs( "o.txt" );

        if( ifs.good() )
        {
                std::string s, txt;

                while( std::getline( ifs, s ) )
                {
                        txt += s;
                }
        }

该用户从未签到

发表于 2009-10-22 16:04:50 | 显示全部楼层
把文件读到内存中,那方法就太多了~~fopen,ifstream,CreateFile,Qt的QFile,或者用MFC的CFile……您能想到的都可以,小行星 的做法也许就不错(当然要记得手动在行尾加上\n)~~

该用户从未签到

发表于 2009-10-22 16:57:17 | 显示全部楼层
const char* textString = {
        "人生若只如初见,何事秋风悲画扇;\n"
        "等闲变却故人心,却道故人心易变。\n"
        "骊山语罢清宵半,夜雨霖铃终不怨;\n"
        "何如薄幸锦衣郎,比翼连枝当日愿。"
    };

好深情:lol~~~~~

该用户从未签到

发表于 2009-10-22 17:14:38 | 显示全部楼层
纳兰性德,清朝唯一可称得上诗人的人~~个人认为

该用户从未签到

发表于 2009-10-22 18:16:30 | 显示全部楼层
7# array

王国维array都看不上啊?哈哈

该用户从未签到

发表于 2009-10-22 23:39:25 | 显示全部楼层
王国维更多的是一位文史学家,而不是纯粹的诗人~~呵呵,讨论区不要太走题啊

该用户从未签到

 楼主| 发表于 2009-10-23 09:40:32 | 显示全部楼层
谢谢各位支持!
纳兰柔若
满清第一才子!

该用户从未签到

 楼主| 发表于 2009-10-23 09:44:29 | 显示全部楼层
4# 小行星
谢谢array!

该用户从未签到

 楼主| 发表于 2009-10-23 09:52:50 | 显示全部楼层
4# 小行星
谢谢 小行星

该用户从未签到

 楼主| 发表于 2009-10-23 09:53:45 | 显示全部楼层
4# 小行星
你文本里的空格和换行怎么读取的?

该用户从未签到

 楼主| 发表于 2009-10-23 09:56:27 | 显示全部楼层
getline 并不是读取一行,而是到空格处就停了  怎么办呢?

该用户从未签到

 楼主| 发表于 2009-10-26 10:17:56 | 显示全部楼层
期待回答 谢谢

该用户从未签到

发表于 2009-10-26 10:43:43 | 显示全部楼层
15# lxlbgd1

用自己的方法吧~~没有一定之规

该用户从未签到

发表于 2009-10-26 14:20:13 | 显示全部楼层
……嗯,根据我这里的运行情况,getline获得了完整的一行,并且geiline就是为了获得完整一行而设计的,请注意我说的是std::getline,而不是istream::getline……

该用户从未签到

 楼主| 发表于 2009-10-28 11:46:02 | 显示全部楼层
17# 小行星
恩,是这样的,哈,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表