c++之从标准流中提取文本数据
istream & istream :: get ( char * , int , char = '\n' ) ;
istream & istream :: getline ( char * , int , char = '\n' ) ;
作用:从文本中提取指定个数的字符,并在串数组末添加一个空字符
其中,第一个参数指向接受字符数据的字符数组
第二个参数指定字符数组最多可容纳的字符个数
第三个参数用于指定一个终止符,缺省为换行符
操作遇到终止符或提取到规定个数字符时,提取终止
区别: get ( ) 不从流中提取终止字符,终止字符仍在输入流中
getline ( ) 从流中提取终止字符,但终止字符被丢弃
1 #include<iostream> 2 using namespace std; 3 int main ( ) 4 { char buf [ 80 ] ; 5 cin.get ( buf , 80 , 'y' ) ; //指定终止符 6 cout << buf << endl ; //默认终止符'\n' 7 cin.get ( buf , 80 ) ; 8 cout << buf << endl ; 9 cin.getline ( buf , 80 , 'n' ) ; 10 cout << buf << endl ; 11 cin.get ( buf , 80 ) ; 12 cout << buf << endl ; 13 return 0; 14 }
1 #include<iostream> 2 #include<fstream> 3 using namespace std; 4 int main ( ) 5 { ifstream inf ( "d:\\testnew" ) ; 6 char buf [ 80 ] ; 7 inf.getline ( buf, 80 ) ; 8 cout << buf << "____" << inf.gcount() << endl ; 9 inf.get( buf, 80 ) ; 10 cout << buf << "____" << inf.gcount() << endl ; 11 inf.close () ; 12 }
奋斗和第三方