C++ (6)
6. 输入输出流
6. 1 标准输出流
6. 1. 1 标准输出流
cout,cerr和clog流:
1) endl 插入换行符,清空缓冲区; ’\n’ 只插入换行符。
2) cerr 不经过缓冲区直接输出到显示器, clog 先存放在缓冲区。
3) cout 可被重定向输出到磁盘文件。
6. 1. 2 格式输出
控制符是在头文件 iomanip 中定义。
6. 2 标准输入流
cin流:
1) 可以通过测试 cin 值判断对象是否处于正常状态和提取操作是否成功。
2) cin.get ( ); cin.get ( ch ); cin.get ( 字符数组,字符个数 n,终止字符 )
3) cin.getline (字符数组,字符个数 n,终止字符 )读入一行字符。
4) cin.eof ( );
5) cin.peak ( ); cin.putback ( ch ); cin.ignore (n ,终止字符 )或者 cin.ignore ( );
6. 3 文件操作与文件流
1) 文件的打开与关闭
ofstream outfile;
outfile.open ( “f1.dat”, ios::out );
outfile.close ( ) ;
ifstream infile ( filename, ios::in || ios::nocreate ) ;
infile.close ( ) ;
2) 对ASCII文件的操作
outfile与cout相似,outfile<<…。
3) 对二进制文件的操作
istream& read ( char *buffer, int len );
ostream& write ( char *buffer, int len );
4) getcount ( ) ; tellg ( ) ; seekg ( 文件中的位置 ) ; seekg ( 位移量,参照位置 ) ;
tellp ( ) ; seekp ( 文件中的位置 ) ; seekp ( 位移量,参照位置 ) ;
6. 4 字符串流
6. 4. 1 建立输入字符串流对象
istrstream strin ( ch2 ) ;
istrstream strin ( ch2 , 20 ) ;
6. 4. 2 建立输入输出字符串流对象
strstream strio ( ch3 , sizeof ( ch3 ) , ios::in || ios::out );