c++中处理输入输出的方法
2016-09-12 21:17
176 查看
============
怎么处理一行空格中的逗号,
使用c++的方法,可以这么处理:
#include <sstream>
#include<algorithm>
using namespace std;
将数据放入string dataline中,
replace(dataline.begin,dataline.end(),',',' ');
istringstream myInstream(dataline);
while(myInstream>>v){
cout<<v<<" ";
}cout<<endl;
=============
在c中,常用的处理输入的函数有:scanf(),getchar(),gets();
在c++中,常用的处理输入输出的函数有:cin,getline
=======
#1知道输入数据组数n
scanf("%d",&n)
while(n--){
这里处理每一组输入,然后直接按照格式输入,没有必要开数组存储答案;
}
#2没有数据总数,以EOF结束
scanf();
while(scanf("%s|%d")!=EOF){
处理每一组数据,并输出
}
1 2 3
4 5 6
2,没有数据总数,以EOF结尾
1 2 3
4 5 6
--getchar()读入一个字符
while((ch=getchar())!=EOF){
}
--gets读入一行
while(gets(buf)!=NULL){
}
3,以0或-1结束的输入
while(scanf("%d",&n),n!=0){
}
1,2,3
4,5,6
-1
============
getchar()和scanf(%c)的功能是一样的,都是接受从键盘输入一个字符;
需要注意的是,这两个函数读入的是输入流中当前位置的字符,比如:
scanf("%d",&n);
c = getchar();//
67/ (/表示换行),则n=67,c = /
===
同样gets和scanf(%s)类似
scanf("%s")在读入字符串时遇到空格或者回车是就会结束
get可以读入一样包含空格的字符串,遇到回车结束(不能读取回车);
=================
cin 读取字符串时,遇到空白符(空格,换行等)结束
===
char str[BUFFER];
while(cin>>str){}
===
getline读字符串时遇到换行符结束,用于读取一整行
char str[BUFFER];
while(cin.getline(str,BUFFER)){}
===
string str;
while(getline(cin,str)){}
怎么处理一行空格中的逗号,
4 1,2,3,4 1,2,3,4 12,3,4,55 c,c,d,d
使用c++的方法,可以这么处理:
#include <sstream>
#include<algorithm>
using namespace std;
将数据放入string dataline中,
replace(dataline.begin,dataline.end(),',',' ');
istringstream myInstream(dataline);
while(myInstream>>v){
cout<<v<<" ";
}cout<<endl;
#include <iostream> #include <cstdio> #include <vector> #include <algorithm> //#include "xiaozhao.h" #include <sstream> using namespace std; int main() { //Cxiao c; //c.test(); freopen("input.txt","r",stdin); int N; int v; string dataline; cin>>N; for(int i = 0;i<=N;i++){ getline(cin,dataline); replace(dataline.begin(),dataline.end(),',',' '); istringstream myInstream(dataline); while(myInstream>>v){ cout<<v<<" "; }cout<<endl; } return 0; }
=============
在c中,常用的处理输入的函数有:scanf(),getchar(),gets();
在c++中,常用的处理输入输出的函数有:cin,getline
=======
#1知道输入数据组数n
scanf("%d",&n)
while(n--){
这里处理每一组输入,然后直接按照格式输入,没有必要开数组存储答案;
}
#2没有数据总数,以EOF结束
scanf();
while(scanf("%s|%d")!=EOF){
处理每一组数据,并输出
}
1 2 3
4 5 6
#include <iostream> #include <stdio.h> //#include "xiaozhao.h" using namespace std; int main() { //Cxiao c; //c.test(); freopen("input.txt","r",stdin); int N; scanf("%d",&N); while(N--){ int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d%d%d\n",a,b,c); } return 0; }
2,没有数据总数,以EOF结尾
1 2 3
4 5 6
#include <iostream> #include <stdio.h> //#include "xiaozhao.h" using namespace std; int main() { //Cxiao c; //c.test(); freopen("input.txt","r",stdin); int a,b,c; while(scanf("%d%d%d",&a,&b,&c)!=EOF){ printf("%d%d%d\n",a,b,c); } return 0; }
--getchar()读入一个字符
while((ch=getchar())!=EOF){
}
--gets读入一行
while(gets(buf)!=NULL){
}
3,以0或-1结束的输入
while(scanf("%d",&n),n!=0){
}
1,2,3
4,5,6
-1
#include <iostream> #include <stdio.h> //#include "xiaozhao.h" using namespace std; int main() { //Cxiao c; //c.test(); freopen("input.txt","r",stdin); int a,b,c; while(scanf("%d%d%d",&a,&b,&c) && (a!=-1 && b!=-1 && c!=-1)){ printf("%d%d%d\n",a,b,c); } return 0; }
============
getchar()和scanf(%c)的功能是一样的,都是接受从键盘输入一个字符;
需要注意的是,这两个函数读入的是输入流中当前位置的字符,比如:
scanf("%d",&n);
c = getchar();//
67/ (/表示换行),则n=67,c = /
===
同样gets和scanf(%s)类似
scanf("%s")在读入字符串时遇到空格或者回车是就会结束
get可以读入一样包含空格的字符串,遇到回车结束(不能读取回车);
=================
cin 读取字符串时,遇到空白符(空格,换行等)结束
===
char str[BUFFER];
while(cin>>str){}
===
getline读字符串时遇到换行符结束,用于读取一整行
char str[BUFFER];
while(cin.getline(str,BUFFER)){}
===
string str;
while(getline(cin,str)){}
相关文章推荐
- C/C++内存终极处理方法(夸张点,推荐)
- C++中字符串处理函数的方法
- zlib跟C++文件混用的时候发生C4996的处理方法
- 从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- [转贴]从零开始学C++之异常(一):C语言错误处理方法、C++异常处理方法(throw, try, catch)简介
- C++、Java和C#语言在处理“虚拟私有方法”上的差异
- C++编译全攻略-编译器处理及LNK错误的解决方法(ZZ)
- [C++]字符串处理方法(STL与C风格)
- 把控制台输入输出重定向到磁盘文件的C++方法
- VS2010 c++ 错误的处理方法 (不断更新....)
- C/C++内存终极处理方法(夸张点,推荐)
- C++的引用传递、指针传递参数在java中的相应处理方法
- C++华丽的exception handling(异常处理)背后隐藏的阴暗面及其处理方法 推荐
- c++多次delete的后果及正确处理方法
- C++ getline在VC6.0的一个bug(处理方法)(转)
- C++、Java和C#语言在处理“虚拟私有方法”上的差异
- C++ 异常处理也可以在方法头里加以声明
- c++ 中文字符串处理方法
- 把控制台输入输出重定向到磁盘文件的C++方法(C++ 输入输出流和文件流)
- C++学习笔记 string 中处理字符的方法