常见操作 cin>>ch getline(cin,ch) cin.get(ch) 的注意事项
Ø fin>>a 吃掉a之前的所有空白字符(空格,回车,tab键),后面遇到空白符结束,但并不吃掉后面的空白符
Ø getline(cin,ch) 刚开始遇到'/n' 结束,并吃掉。结尾遇到'/n'结束,并吃掉
注:这里尤其要注意有可能cin>>ch ;执行时在流缓冲区中留下了一个'/n',恰好碰到了getline(cin,ch)的执行。避免的方法是cin>>ch;cin.ignor();
Ø fin.get(ch) 吃掉一个字符,把这个字符赋给ch
2 定位文件指针
fout.seekp(0,ios::beg);
fin.seekg(0,ios::beg);
3 读文件一直到文件末尾
while(true)
{
fin.get(ch);
if(fin.eof())
break;
//do someting
}
C++ 允许多读一次,读完data_n之后,读eof().此时读失败,eof()返回真;而读到last data 时一切正常此时eof()并不为真。
4 汉子处理,宽字节字符类型
4.1 宽字节类型的声明
wchar_t ch=L'a'; //宽字符类型
wstring s=L"a";//宽字符串类型
wfstream f;//宽文件流类型
wcin>> //宽输入流对象
wcout<< //宽输出流对象
4.2 宽字节流对象在使用之前要本地化
wifstream fin;
fin.imbue(locale("chs"));
wcin.imbue(locale("chs"));
wcin>>temp;
wcout.imbue(locale("chs"));
wcout<<ch;
本文详细介绍了C++中cin、getline、fin、fout等常见输入输出流的操作用法及其注意事项,包括流对象的基本操作、汉子处理、文件读取细节、宽字节字符类型的应用以及本地化设置等,旨在帮助开发者熟练掌握C++输入输出流的高效使用。

被折叠的 条评论
为什么被折叠?



