============

怎么处理一行空格中的逗号,

,,,
,,,
,,,
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 = ;i<=N;i++){
getline(cin,dataline);
replace(dataline.begin(),dataline.end(),',',' ');
istringstream myInstream(dataline);
while(myInstream>>v){
cout<<v<<" ";
}cout<<endl;
}
return ;
}

=============

在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 ;
}

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 ;
}

--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!=- && b!=- && c!=-)){
printf("%d%d%d\n",a,b,c);
}
return ;
}

============

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++中处理输入输出的方法的更多相关文章

  1. C/C++中的输入输出重定向

    目录 一 C/C++中的输入输出重定向 1.1 C语言输入输出重定向 1.2 C++语言输入输出重定向 参考资料 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 C/C++中的输入输出重定向 ...

  2. 《算法竞赛入门经典》学习笔记 2.4.4 C++中的输入输出

    2.4.3 64位整数输入输出long long除了cin,cout,也可以借助于printf和scanf语句,但对应的占位符缺是和平台与编译器相关的:在Linux中,gcc很同意的用%lld:在Wi ...

  3. java中的输入输出<1>

    java中的输入输出基础(1) java中的IO支持通过java.io包下的类和接口来支持.在java.io包下主要包括输入.输出两种io流,每种输入.输出流又分为字节流和字符流. 字节流就是以字节为 ...

  4. JavaScript中Math对象的方法介绍

    1.比较最值方法 比较最值有两种方法,max() 和 min() 方法. 1.1 max() 方法,比较一组数值中的最大值,返回最大值. var maxnum = Math.max(12,6,43,5 ...

  5. Android中锁定文件的方法

    androidSDK中并没有锁定文件相关的api. 但是android是基于linux操作系统的,linux比较底层,灵活性也更大,为了实现锁定文件的效果,大概有以下几种办法: 用chmod命令修改文 ...

  6. jQuery中的事件绑定方法

    在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知 ...

  7. Eclipse中自动提示的方法参数都是arg0,arg1的解决方法

    Eclipse中自动提示的方法参数都是arg0,arg1,就不能根据参数名来推断参数的含义,非常不方便. 解决方法:Preferences->Java->Installed JREs,发现 ...

  8. Power BI官方视频(2) Power BI嵌入到应用中的3种方法

    今天给大家介绍3种将Power BI嵌入到应用中的方法. 本文原文地址:Power BI官方视频(2) Power BI嵌入到应用中的3种方法 Power BI系列文章地址:微软Power BI技术文 ...

  9. JQuery中each()的使用方法说明

    JQuery中each()的使用方法说明 对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的eac ...

随机推荐

  1. 30+有用的CSS代码片段

    在一篇文章中收集所有的CSS代码片段几乎是不可能的事情,但是我们这里列出了一些相对于其他的更有用的代码片段,不要被这些代码的长度所吓到,因为它们都很容易实现,并且具有良好的文档.除了那些解决常见的恼人 ...

  2. dom2和dom3

    第十二章 DOM2和DOM3 一.DOM变化 1.针对XML命名空间的变化 2.其他方面的变化 二.样式 1.访问元素的样式             .style             1)DOM样 ...

  3. Kmeans++算是DONet实现

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  4. 万圣节的糖果(Halloween Sweets)

    今天遇到codewars的一道题,这是链接,讲的是关于万圣节的一个题目,简单点说,就是9个包裹,一个天平,两次称的机会,怎么找出9个包裹中唯一一个较重的包裹. 像我这种年轻时候喜欢研究难题获得存在感的 ...

  5. MSP430 IO 使用

    MSP430内部上拉下拉使用注意——IO口测高低电平     MSP430单片机IO口用来检测高低电平时,是不需要外部上拉下拉的,因为其内部有上拉和下拉.在用作高低电平检测时,需要开启上拉或下拉.   ...

  6. c语言数据结构之 堆排序

    算法:先生成随机数,赋值到数组,将数组第一个元素a[0]设置为哨兵,函数调用数组和随机数个数n,再设定n/2的根结点与孩子结点进行比较操作,若右孩子存在,则选出三个数里最小的数赋值给根节点,如果右孩子 ...

  7. int类型究竟占几个字节

    我最近也在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节.后来,别人查了The C Programming language这本书,里面有一句话是这样的: Ea ...

  8. WebLogic 12c控制台上传获取webshell

    WebLogic 默认端口7001,一般可以通过这样来访问 http://10.9.1.1:7001/console 控制台 通过弱口令weblogic/weblogic登录控制台,下一步获取如何上传 ...

  9. JavaScript:修改作用域外变量

    今天在看JavaScript学习指南的时候做的课后习题,也因此详细的对函数的传入参数进行比较深入的研究. 题目如下: 函数如何才能修改其作用域之外的变量?编写一个函数,由1~5的数字组成的数组作为参数 ...

  10. led驱动

    驱动步骤: 1.驱动框架:一般读驱动代码需要module_init一层层找代码 2.硬件配置 代码中led_ioctl函数设置引脚的电平高低,该函数是驱动程序对设备的通道进行统一设置/控制的函数 一. ...