《io篇》cin和cout和getline

iostream

cin cout

参考链接:https://www.runoob.com/cplusplus/cpp-basic-input-output.html

标准输出

#include <iostream>

using namespace std;

int main( )
{
   char str[] = "Hello C++";

   cout << "Value of str is : " << str << endl;
}

输入

#include <iostream>

using namespace std;

int main( )
{
   char name[50];

   cout << "请输入您的名称: ";
   cin >> name;
   cout << "您的名称是: " << name << endl;

}

string

getline

参考链接:http://c.biancheng.net/view/1345.html

当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。
如下:

// This program illustrates a problem that can occur if
// cin is used to read character data into a string object.
#include <iostream>
#include <string> // Header file needed to use string objects
using namespace std;
int main()
{
	string name;
	string city;
	cout << "Please enter your name: ";
	cin >> name;
	cout << "Enter the city you live in: ";
	cin >> 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: Hello, John
You live in Doe

没有机会输入city

为了解决这个问题,可以使用一个叫做 getline 的 C++ 函数。此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。

getline 函数如下所示:

// This program illustrates using the getline function
//to read character data into a string object.
#include <iostream>
#include <string> // Header file needed to use string objects
using namespace std;
int main()
{
	string name;
	string city;
	cout << "Please enter your name: ";
	getline(cin, name);
	cout << "Enter the city you live in: ";
	getline(cin, 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
posted @   Fusio  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示
目录导航
目录导航
《io篇》cin和cout和getline
iostream
cin cout
string
getline
发布于 2023-05-06 14:06