杂篇之3-C++的输入与输出
来源:互联网 发布:淘宝怎么1元秒杀 编辑:程序博客网 时间:2024/06/05 00:25
1.C++/C输入输出常用函数
两个函数:
cin
,与c 中的scanf
类似- 特点:遇tab,space,Enter即结束输入(scanf一样)
getline
,与 c中的gets(char *s)
类似- 特点:读入一行文本,遇到换行符结束,但是并不保存换行符;如果输入第一个字符即
\n
则输入为空字符串
- 特点:读入一行文本,遇到换行符结束,但是并不保存换行符;如果输入第一个字符即
2.输入多行char类型字符,行数不定
例子如下:
abcdfr
acdf
acv
目标: 读入一行字符串,进行处理,而后再读入下一行字符串
代码:
cout<<"实验1:使用getline函数"<<endl; while(1) { string L; while(getline(cin,L) && L.size()!=0) { stringoperator(L) // 对L进行处理 } if(L.size()==0) { break; } } cout<<"实验2:使用gets()函数"<<endl; while(1) { char str[81]; while(gets(str)&&str[0]!='\0') { string L(str); stringoperator(L) // 对L进行处理 } if(str[0]=='\0') break; }
3.读入多行数据,行数不定,且每一行输入中包含多个字符串,以空格相间隔
输入实例:
abc acd bcdef abcdefg
abc a
def a cdf
目标:将每一行的输入按照空格提取出其中包含的字符片段,存储进vector<string> vstr
中,如上例第一行存储在vstr
中,则结果如下:
vstr[0]存储的是abc
vstr[1]存储的是acd
vstr[2]存储的是bcdef
vstr[3]存储的是abcdefg:
基本思路
- 输入行
- 按照空格对这一行数据进行切割
代码:
while(1) { vector<string> vstr; string L; getline(cin,L); if(L.size()==0) break; string L1; for(int i=0;i<L.size();++i) { if(L[i]!=' ') { L1=L1+L[i]; } else{ vstr.push_back(L1); L1.clear(); } } vstr.push_back(L1); if(vstr.size()==0) break; stringVectorOperator(L) // 对这一行数据进行处理 }
4.输入多行int类型的数据,每一行元素个数未知
输入例子如下:
1 2 3 4 5
2 3 4
3 4 5 6 7
目标:将每一行出现的数字按照次序存储进vector中
基本想法:
- 先按照字符串的方法读入一行数据
- 对这一行数据进行切割,分离出其中的数字
代码如下:
while(1) { vector<int> vec; string L; getline(cin,L); if(L.size()==0) break; int num=0; for(int i=0;i<L.size();++i)// 分离出数字 { if(L[i]!=' ') { num=num*10+int(L[i]-'0'); }else{ vec.push_back(num); num=0; } } vec.push_back(num); cout<<vec.size()<<" "<<endl; for(int i=0;i<vec.size();++i) { cout<<vec[i]<<endl; } cout<<"next"<<endl; }
阅读全文
0 0
- 杂篇之3-C++的输入与输出
- C 语言之格式化输入与输出
- C++:输入与输出
- C输入与输出
- C语言数据的输入与输出
- C语言的输入与输出
- C语言的输入与输出
- C语言控制台的输入与输出
- 【C#】文件的输入与输出
- C语言的本质(23)——C标准库之输入与输出(上)
- C语言的本质(24)——C标准库之输入与输出(下)
- 输入与输出【重学C之七】
- C语言输入与输出
- C语言输入与输出
- C语言输入与输出
- “【】”的输入与输出
- python 之输入与输出
- 【C的输入与输出的相关知识】
- POJ2549_Sumsets_
- 【数据结构】中的计数排序(CountSort)
- 807A Is it rated?
- POJ 1276 Cash Machine 笔记
- pycaffe的使用一
- 杂篇之3-C++的输入与输出
- 事务&MVC&反射
- 【matlab】三维图画法-以卫星测高波形数据为例
- Android——UI(二):Paint的基本使用
- 大数据征信应用与启示 ——以美国互联网金融公司 ZestFinance为例
- 虚函数 纯虚函数 虚继承资料整理
- POJ 3276 Face The Right Way
- 是否需要主动调用Bitmap的recycle方法?
- JDBC加强