成员函数get()
每个输入流都有一个名为get的成员函数,该函数可以用于读取一个字符。和提取参数符不一样的是,get会读取下一个输入字符。不管这个字符是多少。具体地说,不管下一个输入字符是空白字符(空格、制表符),还是一个换行符,get都会读取他们。get函数要读取一个参数,它应该是一个char类型的变量或常量。调用get时,将读取下一个字符,并把实参变量(CharVariable)设为一个输入字符:
语法:
inputStream.get(CharVariable);
Example:
char nextSymbol;
cin.get(next.Symbol);
如果get从文件中读取输入,就要用输入文件流来替代cin流。
inStream.get(CharVariable);
为输入文件流使用get之前,程序首先必须用open函数调用将这个流连接到输入文件。成员函数put()
每一个输出流都有一个名为put()的成员函数。成员函数put()获取一个char类型参数。
调用成员函数put()后,它的参数(CharExpression)的值被输出到输出流。
Grammar:
OutputStream.put(CharExpression);
Example:
cout.put(nextSymbol);
cout.put(‘a’);
如果希望put来输出到一个文件,可以用一个输出文件流来代替cout流。
outStream.put(‘Z’);
一个输出文件流(outStream)使用成员函数put之前,程序首先必须调用open函数,将这个流连接到输出文件。eof成员函数
每个输入流文件都有一个eof(end of file)德尔成员函数,它用于确定何时读取完文件的全部内容,而且程序没有剩余任何更多的输入。eof()函数不取任何参数,所以如果输入流名为fin,就可以将eof()函数调用为:
fin.eof();
这是一个可用于控制while循环、do-while循环、if-else语句的布尔表达式。如果程序已越过输入文件的末尾,就满足这个表达式(即为true);否则就不满足这个表达式(即为false).
由于我们通常只想测试是否没有抵达文件末尾,在调用eof()函数时,通常在它前面使用一个逻辑求反操作符“!”:
if(!fin.eof())// 表示没有抵达与fin连接的那个文件的末尾
{
cout<<"Not done yet.\n";
}
else //已越过文件末尾
{
cout<<"End of the file.\n";
}