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
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。