C++中循环读入字符以回车键字符结束失败

循环接收用户从键盘输入多个字苻串直到输入“ end”时循环结束,并将所有 已输入的字符串按字典顺


1) 不读入空格和回车,从空格处结束
2) 輸入字符串长度超过字符数组元素个数不报错
3) 当输入项为字符指针时指针必须已指向确定的有足够空间的连续存储单元
4) 当为数组元素地址时,从此元素地址开始存放
输出时遇到第一个'\0'为止
Gets输入时包括空格符遇到回车结束
Puts遇到第一个‘\0’结束,自动加入换行符
而使用fgets函数時只要第二个参数正好等于第一个参数传给它的数组的字节个数,那么fgets函数不会写出数组边界所以,fgets函数是最好的选择
fgets(...)读入文本行時的两种情况。
1).如果n大于一行的字符串长度那么当读到字符串末尾的换行符时,fgets(..)会返回并且在s的最后插入字符串结束标志'\0'。而s缓冲区剩余的位置不会再填充
2). 如果n小于等于一行的字符串的长度,那么读入n-1个字符此时并没有读入\n因为并没有到行尾,同样在最后会插入'\0'.
使鼡空白(空格制表符和换行符)来定字符串的界的
读入整行数据,它使用回车键字符输入的换行符来确定输入结尾
第一个参数str是用来存储输入行的数组名称,第二个参数len是要读取的字符数
getline将丢弃换行符,而get()将换行符保留在输入序列里但是字符串中并没有换行符
使鼡cin.get()输入多行数据时中间可以使用get()消除换行符。

我要回帖

更多关于 回车键字符 的文章

 

随机推荐