两个getline 输入带空格的字符串

简介: /*两个函数虽然看上去名称相同都是getline,但它们却分属于不同的类中的成员函数。cin.getline(a,20)的getline是输入流对象的成员函数,即istream::getline,使用时需头文件#include getline(cin,s)的getline是string类对象的成员函...
/*
两个函数虽然看上去名称相同都是getline,但它们却分属于不同的类中的成员函数。
cin.getline(a,20)的getline是输入流对象的成员函数,即istream::getline,使用时需头文件#include <iostream>
getline(cin,s)的getline是string类对象的成员函数,即string::getline,使用时需头文件#include <string>
第二个string类的getline函数,如果是在VC6.0下编译的,则必须敲两次回车

string类的getline(cin,s);中第一个参数要求是一个输入流对象的引用,即istream&,第二个参数则是一个string类的对象
*/

#include<iostream>
#include<string>
using namespace std;
void main()
{
string  s1,s3;
char  s2[40];
cout<<"请输入任意三个姓名:"<<endl;
getline(cin,s1); //可以含有空格字符
cin.getline(s2,40); //可以含有空格字符
cin>>s3;  // 不可以含有空格字符
cout<<"下面输出姓名:"<<endl;
cout<<s1<<endl;
cout<<s2<<endl;
cout<<s3<<endl;
}



目录
相关文章
|
6月前
|
C#
C# 中的字符与字符串
C# 中的字符与字符串
|
C语言
向字符串添加空格
首先我们可以算出s数组的大小-len,也可以直接得到spaces的大小-即要添加的空格数,那么我们要创建的数组大小是len+spacesSize吗? 不是,应该是len+spacesSize+1,这里的加一是存放一个'\n' 这里呢 我们可以写一个for i循环,用来把s中的元素放到arr里面,然后在外面定义一个falg用来充当arr的下标,存进一个元素falg++,再定义一个j=0,当i == space[j]就存放空格,每存放一个空格++.
74 0
解决scanf无法完整获取带空格字符串问题
解决scanf无法完整获取带空格字符串问题
解决scanf无法完整获取带空格字符串问题
|
存储 测试技术 C++
在 C++ 中标记字符串与getline() 函数和字符数组
对字符串进行标记表示根据某些分隔符拆分字符串。有很多方法可以对字符串进行标记。在这篇文章中解释了其中的四个
115 0
|
存储 Shell 程序员
字符和字符串
一.案例:代码展示 二.如何给字符串赋值
字符和字符串