cin, getchar(), cin.get(), cin.getline() 根据不同情况选择不同的输入方式
初始化:char a[ ] = { ’ ’ ’ '}
只可以在数组定义并初始化的时候可用上述赋值方式
不能用赋值语句将一个字符串敞亮或者字符数组直接赋值
输出
可以直接用字符数组名输出 cout << str;
为了确保不输出乱码,需确保以’\0’结尾
字符数组
字符串 以’\0’结尾的字符数组
一个字符的输入
用cin输入一个字符
int a,b;
cin >> a >> b;
//从键盘输入21 22
//cin将空格和回车当做输入数据区分的标志
//cin读出正确的结果会返回该值,不能读出true的值的话就会返回0(while(cin>> grade)),可以实现连续输入
cin读取时会将空格和回车当成间隔符,不作为数据读入,因此输出时会跳过空格回车 跳过空格跳过回车 输入结束标志 Ctrl+Z
eg.
char c;
cin >> c; (abc def g);
cout << c; abcdefg
用cin.get()输入一个字符
cin.get()
cin.get(char)
注:与cin不同,将空格和回车都会读入和输出
eg. c=cin.get() 从缓冲区读入赋给c
或 cin.get© 与上式完全一样
用getchar()输入一个字符
不跳过任何标志
c = getchat()
连结束标志Ctrl+z也会读入 也实现连续输入
字符串的输入
用cin输入字符串
直接用字符串名输入
char str[10];
cin>> str;
cout << str;
将空格回车作为字符的间隔标志,例如abc def g, 输出为三个str,而非中间有‘ ’的str
用cin.get()输入字符串
cin.get(ch, 10, ‘\n’)
读取10-1个字符(包含空格),赋给指定的字符数组ch;
如果读到10-1个字符前,遇到指定的终止字符‘\n’,则读取提前结束;
读取成功返回非0值,否则返回0(false)
将空格和回车读入。
用cin.getline()输入字符串
和cin.get()用法完全相同,但输入时遇到终止字符的停止位置不同
cin.get()遇到终止字符停止读取,指针不动;cin.getline()遇到终止字符停止,指针落到终止字符之后