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;
}
}
#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;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询