c++流常见操作
记下输入输出流、文件流、字符串流的常见操作。
1.基本操作-读入
vector<wstring> vcLines;
wstring inStr;
while (getline(wcin, inStr))
{
vcLines.push_back(inStr);
}
需要引入#include <iostream>
2.输出宽字符
默认控制台是ANSI编码,要输出对应宽字符,需要制定locale来保证输出时完成对应的编码转换,
引入#include <locale.h>
并在开始输出前如下设置。
setlocale(LC_ALL, "chs");
3.流状态管理
可以通过检查当前流状态来判断当前输入输出状态,如下打开文件,需要引入#include <fstream>
/*
ios::in 为输入(读)而打开文件
ios::out 为输出(写)而打开文件
ios::ate 初始位置:文件尾
ios::app 所有输出附加在文件末尾
ios::trunc 如果文件已存在则先删除该文件
ios::binary 二进制方式
*/
bool open_file(wchar_t* pPath, wofstream& my_f)
{
//重复打开时,注意清空和关闭流状态
//my_f.clear();
//my_f.close();
my_f.open(pPath, ios::out|ios::trunc);
if (my_f.good())
{
return true;
}
return false;
}如下,依次输出输出流的三种状态,只要有一个为true,则good判断的状态为false
wcout << L"IO State:" << cin.bad() << cin.fail() << cin.eof() << endl;
4.打开和保存到文件中
//保存到文件中
wofstream ofs;
if (!open_file(L".\1.txt", ofs))
{
wcout << L"打开文件失败" << endl;
return 0;
}
ofs.close();5.转换数据
需要引入#include <sstream>
//转换数据 wstringstream str; int a,b,c; str << L"123 456 789"; str >>a >> b >> c; wcout << L"Trans Result:" << a << L" " << b << L" " << c;
本文完整演示代码下载链接
原创,转载请注明来自http://blog.csdn.net/wenzhou1219
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
