C++ Primer 笔记6
来源:互联网 发布:python 重定向 编辑:程序博客网 时间:2024/06/05 11:45
1、IO类型在3个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,而sstream所定义的类型则用于读写存储在内存中的string对象。
2、标准库还定义了一组相关的类型,支持wchar_t类型。每个类都加上“w”前缀,以此与char类型的版本区分开来。wchar_t类型的标准输入对象是wcin,标准输出是wcout,而标准错误是wcerr。每一个IO头文件都定义了char和wchar_t类型的类和标准输入/输出对象。
3、输出缓冲区的刷新:第一个是使用flush,用于刷新流,但不在输出中添加任何字符。第二个则是比较少用的ends,这个操作符在缓冲区中插入空字符null,然后刷新它。
4、unitbuf操作符,如果需要刷新所有输出,最好使用unitbuf操作符,这个操作符在每次执行完写操作后都刷新流。nounitbuf操作符将流恢复为使用正常的、由系统管理的缓冲区刷新方式。
5、如果打算重用已存在的流对象,那么while循环必须在每次循环时记得关闭和清空文件流:
ifstream input;
vector<string>::const_iterator it =files.begin();
while(it != files.end()){
input.open(it->c_str());
if(!input)
break;
while(input>>s)
process(s);
input.close();
input.clear();
++it;
} //如果忽略clear的调用,则循环只能读入第一个文件。如果程序员需要重用文件流读写多个文件,必须在读 //另一个文件之前调用clear清空该流的状态。
6、标准库定义了3种类型的字符串流: //包含sstream头文件
istringstream,由istream派生而来,提供读string的功能。
ostringstream,由ostream派生而来,提供写string的功能。
stringstream,由iostream派生而来,提供读写string的功能。
7、string line, word;
while(getline(cin,line)){
istringstream stream(line);
while(stream>>word){
//do per-word processing
}
}
这里,使用getline函数从输入读取整行内容。然后为了获得每行中的单词,将一个istringstream对象与所读取的行绑定起来,这样只需使用普通的string输入操作符即可读出每行中的单词。
8、stringsstream提供的转换和/或格式化
stringstream对象的一个常见用法是,需要在多种数据类型之间实现自动格式化时使用该类类型。例如,有一个数值型数据集合,要获取它们的string表示形式,或反之。sstream输入和输出操作可自动地把算术类型转化为相应的string表示形式,反过来也可以。
2、标准库还定义了一组相关的类型,支持wchar_t类型。每个类都加上“w”前缀,以此与char类型的版本区分开来。wchar_t类型的标准输入对象是wcin,标准输出是wcout,而标准错误是wcerr。每一个IO头文件都定义了char和wchar_t类型的类和标准输入/输出对象。
3、输出缓冲区的刷新:第一个是使用flush,用于刷新流,但不在输出中添加任何字符。第二个则是比较少用的ends,这个操作符在缓冲区中插入空字符null,然后刷新它。
4、unitbuf操作符,如果需要刷新所有输出,最好使用unitbuf操作符,这个操作符在每次执行完写操作后都刷新流。nounitbuf操作符将流恢复为使用正常的、由系统管理的缓冲区刷新方式。
5、如果打算重用已存在的流对象,那么while循环必须在每次循环时记得关闭和清空文件流:
ifstream input;
vector<string>::const_iterator it =files.begin();
while(it != files.end()){
} //如果忽略clear的调用,则循环只能读入第一个文件。如果程序员需要重用文件流读写多个文件,必须在读
6、标准库定义了3种类型的字符串流: //包含sstream头文件
7、string line, word;
这里,使用getline函数从输入读取整行内容。然后为了获得每行中的单词,将一个istringstream对象与所读取的行绑定起来,这样只需使用普通的string输入操作符即可读出每行中的单词。
8、stringsstream提供的转换和/或格式化
- C++ Primer 笔记6
- C++ Primer 笔记6
- C++ Primer 笔记1
- C++ Primer 笔记2
- C++ Primer 笔记3
- C++ Primer 笔记4
- C++ Primer 笔记5
- C++ Primer 笔记7
- C++ Primer 笔记8
- C++ Primer 笔记9
- C++ Primer 笔记10
- C++ Primer 笔记11
- C++ Primer 笔记12
- C++ Primer 笔记13
- C++ Primer 笔记14
- C++ Primer 笔记15
- C++ Primer 笔记16
- C++ Primer 笔记17
- C++ Primer 笔记之const总结
- C++ Primer 笔记2
- C++ Primer 笔记3
- C++ Primer 笔记4
- C++ Primer 笔记5
- C++ Primer 笔记6
- C++ Primer 笔记6
- C++ Primer 笔记7
- C++ Primer 笔记8
- C++ Primer 笔记9
- C++ Primer 笔记10
- C++ Primer 笔记11
- C++ Primer 笔记12
- Windows Game Note1