cin会在空格处停止, 而getline是在回车处停止,就是获得整整一行的意思 getline(str,数字)就是一直输入直到数字个数的字符 由于一个char就是1个字节,所以sizeof(str)就很合适
cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * ,int),第一个参数为一个char指针,第二个参数为数组字符串长度。 getline(cin,str)函数是处理string类的函数。第二个参数为string类型的变量。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include <iostr...
getline是string类对象的成员函数,属于string IO 操作。用于读取整行文本。 getline(cin,str); //cin:输入流;str:string对象 getline函数从输入流的下一行读取,并保存读取的内容到str中,但不包括换行符。getline 函数将 istream 参数作为返回值,和输入操作符一样也把它用作判断条件。 例:#include <string> #inc...
getline 有许多版本。万变不离其宗,它的基本参数有:从哪个流读东西,例如 std::cin,就是标准输入设备键盘;读入到哪个字符变量里;例如str 字符变量存放长度。std::cin,str);//★★★清除输入缓冲区 如果键盘输入 就拍入 一个"Enter" 键,0长度 字符串,就等于清了缓冲区的内容。
当我们先使用cin>>读取输入内容后再使用getline(cin,str)来读取字符串,则会遇到直接跳过后者读取操作的情况。假设我们现在需要先输入一个人的id和姓名并换行输出。 intid;stringname;cin>> id; getline(cin, name);cout<<"id: "<< id <<endl;cout<<"name: "<< name <<endl; ...
'\n' 为换行符,根据你给出的代码可以不加。getline 函数接受三个参数,第三个参数指定用作分界符的字符。第三个参数有默认值,默认值为换行符。如果不加,那么将以默认值(即换行符)为分界符作为终止。getline(cin, str, '\n' ); 等价于 getline( cin, str );当然,如果你想要指定其它字符...
百度试题 题目语句:“cin.getline(str, 1000, '\n');”的意义是___。相关知识点: 试题来源: 解析 答案:接受输入字符串,最大长度是1000个字节,如果遇到回车则停止输入。反馈 收藏
实际测试 用你的代码是可以工作的 输出如下:Welcome to Fake Login Application. Username timbo317password 123abcWelcometimbo317 you have successfully logged in!你在输入的时候 检查一下是否多输入了空格或者tab一类的不可见字符。getline会读入这些字符,而cin>>会略过。还不行的话 把你读入的值打印...