1.直接输入
char name[5];
cin >> name;
当输入的字符数大于数组长度时,程序运行出错。
此外,cin会使用空白(空格、制表符、换行符)来定字符串的界。比如输入"ab c”,将只显示"ab"。
2.cin.getline(char[], int)
char name[6];
cin.getline(name, 6);
getline使用换行符来界定字符串的界,可以读取空格、制表符。
获取一行输入,当getline的第二个参数比数组大时,程序运行时将出错。
如果getline的第二个参数与数组大小相同,控制台输入的字符数多于数组大小时,程序将截断控制台字符串。
3.cin.get(char[], int)
char name[6];
cin.getline(name, 6);
get使用换行符来界定字符串的界,可以读取空格、制表符。
获取一行输入,当get的第二个参数比数组大时,程序运行时将出错。
如果get的第二个参数与数组大小相同,控制台输入的字符数多于数组大小时,程序将不截断。
get不丢弃换行符,而是将其留在输入队列中。
4 cin.get()
int ch;
int count = 0;
ch = cin.get();
while (ch != EOF)
{
cout.put(ch);
++count;
ch = cin.get();
}
可以通过Ctrl+Z+Enter来键盘模拟EOF。
cin.get()返回的既可以是char类型,也可以是int类型。
5.cin.get(char)
char ch;int count = 0;
cin.get(ch);
while (cin.fail() == false)
{
cout << ch;
++count;
ch = cin.get();
}
转载请注明:http://blog.csdn.net/xglongfcrt/article/details/7759056