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()从换行符或者空格之后的字符开始接收字符。
相关文章推荐
- c++单元测试指南:使用google test
- C语言关键字
- C语言的队列的初始化和先进先出的简洁程序
- C++ 定义类类型对象,默认构造函数,带有默认参数的构造函数
- C++学习笔记23——关联容器之set
- Dex动态加载的C语言部分
- 从初始化列表和构造函数谈C++的初始化机制
- VC++ CArchive及简单的文件操作方法
- c++(父类与子类,继承)
- C语言 scanf函数的机理和常规的格式字符串
- C++学习笔记22——关联容器之map
- C++中的friend友元函数详细解析
- [C++]小数转化为分数(class)
- c++ primer 的第一天和第二天的学习
- C++学习笔记21——pair类型
- 【转】C语言中动态分配数组
- c++primer第十章习题(2)
- C++深拷贝
- c++基础知识梳理(2)
- LeetCode Two Sum 及C++map浅显理解