——整理于2020.5.13
C++输入流函数
标准输入流
cin>>
cin>>v
cin>>c 从缓冲区读取数据,若缓冲区中第一个字符是分隔符(空格、tab、制表符\t、换行符\n)时,忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。读取成功后,字符后面的分隔符残留在缓冲区,不作处理。
cin.get
int get()
istream & get( char &rch )
istream & get( char * pch, int nCount, char delim=’\n’)
cin.get() 获取一个字符并返回(包括任何白色空格字符)
cin.get( c) 获取一个字符并放入c中,与c=cin.get()等价
cin.get(str, n) 获取n-1个字符放入str字符数组中(第n个补\0),结束符默认为\n
cin.get(str, num, ‘delim’)和上一个相同,结束符为自定义的delim
注意:cin.get读取字符串后结束符仍然残留在缓冲区
cin.getline
cin.getline(char* str,int N,char delim)
cin.getline(str, n)读取n-1个字符到str字符数组中(第n个补’\0’),结束符为’\n’
cin.getline(str, n, ‘deline’)结束符为自定义的deline
注意:cin.getline读取字符串后结束符会被扔掉,对比于cin.get()
cin.ignore
cin.ignore(int intExp, char chExp)
cin.ignore(n)提取并清除缓冲区中的n个字符
cin.ignore(n, ‘c’)提取并清除缓冲区的字符,结束条件为:遇到字符c或者达到了忽略的最大数目n
cin.peek
int peek()
c=cin.peek()返回输入流中的下一个字符给c(不会跳过分隔符),而不会将字符从输入流中移除,如果输入流已经结束,则返回EOF
cin.putback
istream & putback( char c)
(not very sure)
cin.putback(ch)将前面用get或者getline函数从输入流中读取的字符ch返回到输入流,插入到当前指针的位置,供后面读取。
cout输出流格式控制等参考:cout格式化输出