您的位置:首页 > 编程语言 > C语言/C++

C++ && C 带空格的字符串输入

2015-11-15 22:42 357 查看

字符数组:

1.gets(cs);//接收回车符

eg.题目:三个字符串,可以写成二维数组,cs[10][10]

每行读取:gets(cs[i]);

一行读取:scanf(“%s”,字符数组名或指针):scanf(“%s”,cs[i]);

#include<cstring>
#include<cstdio>
using namespace std;
char cs[5][5];
int main()
{
for(int i=1;i<=3;i++)
gets(cs[i]);
for(int i=1;i<=3;i++)
printf("%s ",cs[i]);
}




#include<cstring>
#include<cstdio>
using namespace std;
char cs[10][10];
int main()
{
for(int i=1;i<=3;i++)
{
scanf("%s",cs[i]);
}
for(int i=1;i<=3;i++)
{
printf("%s ",cs[i]);
}
}




2.cin.getline(字符串cs,接受个数n,结束字符),有三个参数

//丢弃回车符

//当第三个参数省略时,系统默认为’/0’

//cin.getline(m,5,’a’);当输入bcdbcd时输出bcdb\0,输入bcabcde时,输出bc;

3.cin.get(字符串cs,接受个数n,结束字符)

//接收换行符

字符串:

1.getline(cin,s);

直到到达换行符,并丢弃换行符

*”接收回车符“即“换行符保留在输入序列中”,其意是,如果再有读取函数(除scanf函数),则不会读取“回车符号”了。

“丢弃回车符”意思是,回车符不保留在输入序列中,下次再有读取函数,会先读回车符(除scanf函数)。*

cin.getline(cstr,4);//丢弃换行符
cout<<cstr<<endl;
cin.get(dstr,3);//读取到换行符,结束
cout<<dstr<<endl;




cin.get(cstr,4);//接收换行符
cout<<cstr<<endl;
cin.getline(dstr,3);//读取到字符
cout<<dstr<<endl;




cin.getline(cstr,4);//丢换行符
cout<<cstr<<endl;
cin.getline(dstr,3);//读取到换行符
cout<<dstr<<endl;




cin.get(cstr,4);//接收换行符
cout<<cstr<<endl;
cin.get(dstr,3);//读取到字符
cout<<dstr<<endl;




scanf("%s",&cstr);//丢弃换行符
cout<<cstr<<endl;
cin.get(dstr,3);
cout<<dstr<<endl;




cin.getline(cstr,4);
cout<<cstr<<endl;
scanf("%s",dstr);
cout<<dstr<<endl;




cin.get(cstr,4);
cout<<cstr<<endl;
scanf("%s",dstr);
cout<<dstr<<endl;




最后两个程序和图片可以说明,scanf()从换行符或者空格之后的字符开始接收字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: