天天看点

c++字符串输入总结

    c++中 以char数组或指针形式表达字符串时,初学者在尝试输入字符串时常常会出现错误。以下是我对这部分内容的一点总结:

    由于在使用std::cin >> char[](or char *)时,输入流在遇到空格、制表、回车键时会统一停止输入,所以当要输入的字符串中有空格时,我们可以采取以下两种方式:

    1、利用cin.getline(char *, int)整行读取

     第一个参数是要用来存放字符串的char数组,第二个参数表示存入的最大字符数,该函数只有遇到回车时才停止读取

     2、利用cin.get(char *, int)整行读取

两个参数意义与geiline函数相同,函数用法也相同。但是需要注意的是,get()在遇到回车键后,虽然会结束输入字符串,但也会将表示回车键的'\n'留在输入流中。也就是说,在

cin.get(char *, int)之后如果还需要输入,必须在两个输入之间插入cin.get()(无参数)用来承接输入流中的'\n',否则会使下一个输入的第一个字符为'\n',然后自动结束输入。

    attention: 在需要先输入数字,后输入字符串(无论是使用cin、 cin.getline()还是cin.get())的情况下,二者的输入函数中间也需要插入cin.get()(无参数),原因类似上述,结束输入数字时敲击的回车键也会干扰字符串的输入函数

继续阅读