c++怎么读取文件中的中文字符串的几种方法

如题所述

第1个回答  2016-12-10
远标老师教我们方法一:

#include <fstream>
#include <string>
#include <iostream>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件
streambuf* old_buffer = cin.rdbuf(ifs.rdbuf());

string read;
while(cin >> read) // 逐词读取方法一
cout << read;
cin.rdbuf(old_buffer); // 修复buffer
}

方法二:
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件
ifs.unsetf(ios_base::skipws);

char c;
while(ifs.get(c)) // 逐词读取方法二
{
if(c == ' ')
continue;
else
cout.put(c);
}
}

方法三:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件

string read;
while(getline(ifs, read, ' ')) // 逐词读取方法三
{
cout << read << endl;
}
}

方法四:
#include <fstream>
#include <iostream>
using namespace std;

int main()
{
ifstream ifs("test.cpp"); // 改成你要打开的文件

char buffer[256];
while(ifs.getline(buffer, 256, ' ')) // 逐词读取方法四
{
cout << buffer;
}
}本回答被网友采纳
相似回答