• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

详解C++ cin.getline函数

c++ 搞代码 4年前 (2022-01-06) 35次浏览 已收录 0个评论

这篇文章主要介绍了C++ cin.getline函数的相关资料,帮助大家更好的理解和学习C++,感兴趣的朋友可以了解下

cin

虽然可以使用 c来源gaodai#ma#com搞*!代#%^码$网in 和 >> 运算符来输入字符串,但它可能会导致一些需要注意的问题。
当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。

 例: // This program illustrates a problem that can occur if // cin is used to read character data into a string object. #include  #include  // Header file needed to use string objects using namespace std; int main() { string name; string city; cout <> name; cout <> city; cout << "Hello, " << name << endl; cout << "You live in " << city << endl; return 0; }

预期结果:

Please enter your name: John Doe
Enter the city you live in: Chicago
Hello, John Doe
You live in Chicago

实际结果:

Please enter your name: John Doe
Enter the city you live in: Hello, John
You live in Doe

在这个示例中,用户根本没有机会输入 city 城市名。因为在第一个输入语句中,当 cin 读取到 John 和 Doe 之间的空格时,它就会停止阅读,只存储 John 作为 name 的值。在第二个输入语句中, cin 使用键盘缓冲区中找到的剩余字符,并存储 Doe 作为 city 的值。

cin.getline()

cin.getline 允许读取包含空格的字符串。它将继续读取,直到它读取至最大指定的字符数,或直到按下了回车键。

此函数会一次读取多个字符(包括空白字符)。它以指定的地址为存放第一个读取的字符的位置,依次向后存放读取的字符,直到读满N-1个,或者遇到指定的结束符为止。若不指定结束符,则默认结束符为’\n’。

这个函数有三个参数,其语法为:cin.getline(字符指针(char*),字符个数N(int),结束符(char));

第一个参数为第一个读取的字符的位置,通常为数组名。

第二个参数为读取的字符的个数。

第三个参数是结束符,可以省略,省略则默认为回车键结束。

 例: // This program demonstrates cinT s getline function // to read a line of text into a C-string. #include 、 using namespace std; int main() { const int SIZE = 81; char sentence[SIZE]; cout << "Enter a sentence: "; cin.getline (sentence, SIZE); cout << "You entered " << sentence << endl; return 0; }

输出结果:

Enter a sentence: To be, or not to be, that is the question.
You entered To be, or not to be, that is the question.

可以看到,使用cin.getline函数输入带有空格的字符串。

在网络编程中,写一个简单的回射程序时,可以使用cin.getline来输入数据。

 #define MAX_LINE 10000 char SendBuffer[MAX_LINE]; cin.getline(SendBuffer, sizeof(SendBuffer));

以上就是详解C++ cin.getline函数的详细内容,更多关于cin.getline函数的资料请关注gaodaima搞代码网其它相关文章!

以上就是详解C++ cin.getline函数的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:详解C++ cin.getline函数

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址