istream::get,getline函数与string getline区别 istream::read 和ostream::write

 

int get();从输入流中读取一个字符,转化成int返回

istream& istream::get ( char& c ); 从输入流中读取一个字符,保存到c中

istream&  istream::get ( char* s, streamsize n );

从输入流中读取n-1个字符或者碰到结束符'\n'或者文件最后,但是'\n'不会从输入流中提取出来,最为下次读取的开始字符。在s最后加上一个'\0'

istream&  istream::get ( char* s, streamsize n, char delim );

从输入流中读取n-1个字符或者碰到结束符delim 或者文件最后,但是delim 不会从输入流中提取出来,最为下次读取的开始字符.在s最后加上一个'\0'

istream&  istream::getline (char* s, streamsize n );

istream&  istream::getline (char* s, streamsize n, char delim );

与istream&  istream::get ( char* s, streamsize n );  istream&  istream::get ( char* s, streamsize n, char delim );

的区别是 结束符会从输入流中提取出来,但是不会存到s中。

string  getline

 istream& getline ( istream& is, string& str, char delim );

istream& getline ( istream& is, string& str );

函数的作用与

istream&  istream::getline (char* s, streamsize n );

istream&  istream::getline (char* s, streamsize n, char delim );

一样

istream& read ( char* s, streamsize n );

从输入流读取n个字符,或者碰到文件结束符 但是不在s最后加上'\0',所以不是cstring字符串

ostream& write ( char* s, streamsize n );

从输出流写入n个字符,s不需要是cstring字符串 即'\0'结束的字符串

发布了24 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/saeba5566/article/details/6620341