c++字符串输入输出
- getchar()与putchar()不会忽略任何一个字符,包括换行 ,tab,enter在内
- scanf与printf 格式化字符串
%c
%c类似于getchar(),不会跳过任何一个字符,包括空格,tab,‘\n’等。但是,要注意:空格的作用。
%s
相对于%c,%s简单许多:
scanf()以非空白符开始,空白符结束,完成一个%s的录入;
printf()从当前位置打印到‘\0’结束,与puts相同(可参见puts段的代码) - gets与puts
puts效果与printf()+%s效果一致,均为从当前指针输出至’\0’。gets()与scanf()+%s类似,不过与后者相比,遇到tab和空格不会停止录入,gets只对enter敏感 - cin与cout
cin:输入字符串数组时,对三种空白符均敏感,与scanf+%s相同;
cout:在输出字符创数组时,与puts()和printf+%s相同,遇到‘\0’停止输出。 - getline()读入string或char[]
使用方法:string str; getline(cin,str);//读入string char str2[1024]; cin.getline(str2,1024);//读入char数组
说明:这是比较常用的方法,cin.getline第三个参数表示间隔符,默认为换行符'\n'。读入不需要考虑最后的换行符。
方法五:
get()读入char[]
使用方法:
char str3[1024]; cin.get(str3,1024);//读入char数组
说明:get函数读入时需要考虑最后的换行符,也就是说,如果用get读入多行数据,要把'\n'另外读出来,一般使用cin.get(str,1024).get();来读入多组数据。