C++中字符串输入
2014-06-07 20:39
218 查看
1 使用cin输入字符串的相关问题
1.1 cin 使用空白(空格、制表符和换行符)来定字符串的界
这意味着cin在获取字符数组输入时只读取一个单词,在读取该单词后,cin将该字符串放到数组中,并自动在结尾添加空字符。这样,后一个字符串将不会输入到数组中。
1.2 当输入字符串可能比目标数组长时,将不能防止例如将包含30个字符的字符串放到20个字符的数组中的情况。
2 面向行的读取还不是面向单词
2.1 getline()
getline()读取一行的输入,直到到达换行符,并丢弃换行符
它有三个参数:数组名称、要读取的字符长度、第三个参数为XXX
如果为20,则函数最多读取19个字符,余下的空间用于存储空字符!!!注意!!!!
2.2 get()
get()有三个参数的版与getline()意思差不多,...,将换行符保留在输入序列中,不通过一定的手法,get()将不能通过最后的换行符!!!!如此这样使用:
cin.get(name,size);
cin.get();
cin.get(name2,size2);
2.3 空行和其他问题
当getline()和get()读取空行时怎么办?思考。。。
2.4 对于一个未被初始化的字符串,其内容是随机的,也就有可能出现空字符\0!!!!要先初始化!!!
2.5向string中输入一行字符
getline(cin,string);//向string中输入一行
cin.getline(array,size);//向普通数组中输入一行
1.1 cin 使用空白(空格、制表符和换行符)来定字符串的界
这意味着cin在获取字符数组输入时只读取一个单词,在读取该单词后,cin将该字符串放到数组中,并自动在结尾添加空字符。这样,后一个字符串将不会输入到数组中。
1.2 当输入字符串可能比目标数组长时,将不能防止例如将包含30个字符的字符串放到20个字符的数组中的情况。
2 面向行的读取还不是面向单词
2.1 getline()
getline()读取一行的输入,直到到达换行符,并丢弃换行符
它有三个参数:数组名称、要读取的字符长度、第三个参数为XXX
如果为20,则函数最多读取19个字符,余下的空间用于存储空字符!!!注意!!!!
2.2 get()
get()有三个参数的版与getline()意思差不多,...,将换行符保留在输入序列中,不通过一定的手法,get()将不能通过最后的换行符!!!!如此这样使用:
cin.get(name,size);
cin.get();
cin.get(name2,size2);
2.3 空行和其他问题
当getline()和get()读取空行时怎么办?思考。。。
2.4 对于一个未被初始化的字符串,其内容是随机的,也就有可能出现空字符\0!!!!要先初始化!!!
2.5向string中输入一行字符
getline(cin,string);//向string中输入一行
cin.getline(array,size);//向普通数组中输入一行
相关文章推荐
- 从易到难编写C++程序,(1)个人解答:把键盘输入的字符串逆序输出。
- C++中如何输入一行字符串?
- c++输入字符串和子字符串 输出子字符串在字符串中出现的次数 并输出字符串中的字母
- c++ 连续输入多个字符串
- C++_从标准输入读入一行字符串,几种情况比较
- C++ 输入一个数字转换成字符串
- C++输入一个字符串,把其中的字符按照逆序输出的两种方法
- c/c++:字符串输入输出流
- [转]关于在C++中输入带空格的字符串的方法
- 关于数组与字符串输入的问题-C++版 推荐
- C++ 控制台无法输入字符串
- c++ 输入字符串,输出数字
- C++输入一行字符串的一点小结
- 输入带空格的string类型字符串 c++
- C++ 获取输入光标处的字符串。
- 从易到难编写C++程序,(1)个人解答(2):把键盘输入的字符串逆序输出。
- C++几个字符串输入
- 【C++FAQ】怎么输入一行字符串(可能带空格)
- C++输入一行字符串的一点小结
- C++输入一个字符串,把其中的字符按照逆序输出的两种方法