全部博文(385)
分类: C/C++
2006-10-13 10:38:15
|
第二个参数是本次读取的最大字符个数,第三个参数是分隔字符,作为读取一行结束的标志。
下面的函数从键盘读取一行文本
|
|
在键入X之前,可以按一次到多次回车键,而并不结束第一个cin.getline()的输入 。 第一个cin.getline()的输入操作将以键入X后的第一个回车结束。
cin.getline() 与 cin>>str 的一个不同是,前者输入一行,行中可以包含空格,后者却以空格或回车作为字串结束,不包含空格。
用get()读取一个字符
每次获取一个字符:char istream::get();
|
使用流成员函数的输入操作不只限于键盘,上例程序可从重定向输入中读取。
$ ./get < get.cpp
letter=cin.get();与cin>>letter 都是从输入流中取一个字符,但却有区别,默认情况下,cin>>letter将跳过任何在文件中发现的任何空白字符(空白字符指空格,tab,backspace,回车) .而cin.get不跳过空白字符。
|
getline()与get()第二种形式相同,唯一的例外是getline()从输入流中输入一系列字符时包括分隔符,而get()不包括分隔符。
put成员函数,依次输出字符。
|
cout<
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("put.cpp");
if (in.fail())
{
cerr<<"Error opening the file\n";
}
while (!in.eof( ) )
{
cout.put(in.get() );
}
}
//注意get()这种形势它读取了空白符(含回车符),不跳过任何的字符。与get(char * ,int n ,delim='\n')这种行式不同,他不包括分隔符delim.