新微赢技术网

标题: 怎么一次读取文件中的全部内容? [打印本页]

作者: 52巧克力aiq    时间: 2009-11-3 02:02
标题: 怎么一次读取文件中的全部内容?
也就是把文件中的所以内容写到string变量中
C#中有个ReadToEnd,C++怎么写呢?

另外,有3个字符串,string a,b,c;
要吧a中的所有b串替换成c串怎么写?replace好象没有相应的重载
比如:a="chinasdinalsina"
b="ina"
c="fm"
替换后为a为:
a="chfmsdfmlsfm"
作者: 没心没肺    时间: 2009-11-3 02:02
有人知道吗?
作者: ♀〓♂♀〓♂    时间: 2009-11-3 02:02
/*---------------------------------------------------------------------------
File name: bccn-一次读取文件中的全部内容.cpp
Author: HJin (email: fish_sea_bird [at] yahoo [dot] com )
Created on: 10/16/2007 05:05:06
Environment: WinXPSP2 En Pro + VS2005 v8.0.50727.762

Modification history:
===========================================================================

Problem statement:
---------------------------------------------------------------------------
http://bbs.bc-cn.net/viewthread.php?tid=178063
怎么一次读取文件中的全部内容?
也就是把文件中的所以内容写到string变量中
C#中有个ReadToEnd,C++怎么写呢?
另外,有3个字符串,string a,b,c;
要吧a中的所有b串替换成c串怎么写?replace好象没有相应的重载
比如:a="chinasdinalsina"
b="ina"
c="fm"
替换后为a为:
a="chfmsdfmlsfm"
Sample output:
---------------------------------------------------------------------------
怎么一次读取文件中的全部内容?
也就是把文件中的所以内容写到string变量中
C#中有个ReadToEnd,C++怎么写呢?
另外,有3个字符串,string a,b,c;
要吧a中的所有b串替换成c串怎么写?replace好象没有相应的重载
比如:a="chinasdinalsina"
b="ina"
c="fm"
替换后为a为:
a="chfmsdfmlsfm"
chfmsdfmlsfm
Press any key to continue . . .
*/
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
ifstream ifs("a.txt");
string s(istreambuf_iterator<char>(ifs), (istreambuf_iterator<char>()));
cout<<s<<endl;
ifs.close();
string a="chinasdinalsina";
string b="ina";
string c="fm";
size_t n=0;
while((n=a.find(b, n))!=string::npos)
{
a.replace(n, b.size(), c);
++n;
}
cout<<a<<endl;
return 0;
}


附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2