C#中有个ReadToEnd,C++怎么写呢?
另外,有3个字符串,string a,b,c;
要吧a中的所有b串替换成c串怎么写?replace好象没有相应的重载
比如:a="chinasdinalsina"
b="ina"
c="fm"
替换后为a为:
a="chfmsdfmlsfm"
/*---------------------------------------------------------------------------
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;
}