因为C++向下兼容C,所以有多种输入输出的方式,cin/cout十分简洁,但个人觉得不如scanf/printf来的强大,而且在做算法题时,后者运行速度也快些。

scanf/printf

#include<cstdio>

int main() {
int n;
float a,b
scanf("%d", &n);
scanf("%f/%f", &p,&q); //支持类似的输入 printf("%05d", n); //不足位补0
printf("%.5f", a); //保留小数位
}

sscanf/sprintf

这两个函数并不是用于输入输出,而是类似于string+sacnf/printf,是为了处理字符串问题而生的,将字符串转换为任意类型,或是将任意类型转换为字符串

#include<cstdio>

int main() {
int n;
char str1[100] = "123";
sscanf(str1, "%d", &n); // sscanf的作用是将str1里的内容以%d的格式输入到n中
int a;
double b;
char s1[100]="hello:3.14,2048",s2[100];
sscanf(s1, "%s:%lf,%d", s2, &b, &a); // 复杂的格式转化 int m=123;
char str2[100];
sprintf(str2, "%d", m); // sprintf的作用是将n中的内容以%d格式输出到str2中
int x=10;
double y=20.10;
char s3[100],s4[100]="hello word";
sprintf(s3, "%s:%d:%lf", s4, x, y); printf("%d %s %lf %d %s %s %s", n,s2,b,a,str2,s2);
}

输出123 hello 3.14 2048 123 hello word:10:20.10

getchar/putchar

这两个函数分别接收和输出一个字符,包括空格和换行符"\n"

用这个函数循环输入到字符数组中时,不会自动向数组末尾加"\0",这个字符的意义是结束符,想用printf函数输出时,没有这个结束符就会输出乱码,因此要手动向结尾加"\0",这也是申明字符数组时总要至少多一个空间的原因。

gets/puts

直接接收字符串,以空格或者换行符作为结束符

C/C++ 之输入输出的更多相关文章

  1. [译]DbContext API中使用SqlQuery和ExecuteSqlCommand获取存储过程的输入输出参数

    水平有限,欢迎指正.原文:http://blogs.msdn.com/b/diego/archive/2012/01/10/how-to-execute-stored-procedures-sqlqu ...

  2. ECS Linux 服务器解除ssh登陆后被锁定或暂停输入输出的终端

    在使用SSH终端(如Xshell)登陆时,若不慎点击 Ctrl + S  按键,会导致终端很像被锁定,输入和输出都无响应. 这是由于操作系统的终端收到指令 Ctrl + S 后,会暂停终端输入输出的刷 ...

  3. linux中输入输出和重定向问题

    输入输出解释 当我们执行shell的时候,每个进程都和三个打开的文件有关系,并使用文件描述符来引用这些文件.但这些文件不容易记忆,所以shell给了相应的文件名: 0:输入文件-标准输入(它的命令是输 ...

  4. C/C++ 标准输入输出重定向

    转载自:http://www.cnblogs.com/hjslovewcl/archive/2011/01/10/2314356.html 这个对经常在OJ上做题的童鞋们很有用.OJ基本都是用标准输入 ...

  5. Lattice FIFO 使用之FIFO_DC输入输出宽度不同时 的一个注意事项

    在使用FIFO_DC的时候,我们知道这个FIFO的一个功能是可以输入输出的数据宽度不一样,比如: 输入数据为128bit,输出数据为16bit,FIFO内部可以实现这样的转换,但是输出的时候是先送出一 ...

  6. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  7. C语言的标准输入输出

    1. 标准输入输出 标准输入.输出主要由缓冲区和操作方法两部分组.缓冲区实际上可以看做内存中的字符串数组,而操作方法主要是指printf.scanf.puts.gets,getcha.putcahr等 ...

  8. Linux标准输入输出

    linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0,正确输出standard output 1,错误输出:error output 2 以后打开文件后.新增文 ...

  9. [JAVA]HTTP请求应答作输入输出

    请求(需要发送数据给别人): URL url = new URL("需要请求的URL连接"); HttpURLConnection httpConnection = (HttpUR ...

  10. Java—输入输出技术

    在Java中,通过java.io包提供的类来表示流,基本的输入输出流为InputStream和OutputStream.从这两个基本的输入输出流派生出面向特定处理的流,如缓冲区读写流.文件读写流等. ...

随机推荐

  1. [转]Laplace算子和Laplacian矩阵

    1 Laplace算子的物理意义 Laplace算子的定义为梯度的散度. 在Cartesian坐标系下也可表示为: 或者,它是Hessian矩阵的迹: 以热传导方程为例,因为热流与温度的梯度成正比,那 ...

  2. 十五、springboot集成定时任务(Scheduling Tasks)(二)之(线程配置)

    配置类: /** * 定时任务线程配置 * */ @Configuration public class SchedulerConfig implements SchedulingConfigurer ...

  3. 三、springboot热部署

    1.spring-boot-devtools 实现热部署 spring-boot-devtools 最重要的功能就是热部署.它会监听 classpath 下的文件变动,并且会立即重启应用. <d ...

  4. 关于Unity启动时间过长(启动黑屏时间长)的问题!!! 牛逼... 思路不错...

    http://blog.csdn.net/u012169685/article/details/52068809

  5. Redis相关链接

    Redis 教程 http://www.runoob.com/redis/redis-data-types.html Python操作redis学习系列之(集合)set,redis set详解 (六) ...

  6. 线性表应用--Josephus问题的解法(Python 版)

    线性表应用 --Josephus问题的解法(Python 版) Josephus问题描述:假设有n个人围坐一圈,现在要求从第k个人开始报数,报到第m个数的人退出.然后从下一个人开始继续报数并按照相同的 ...

  7. React 学习二 组件

    React的一个最大的特点就是组件化的开发模式.今天就来试一下: <!DOCTYPE html> <html> <head> <meta charset=&q ...

  8. android入门问题--R文件丢失

    链接   新手刚入门as,发现新创建的项目总是出错 Error:Execution failed for task ':app:mergeDebugResources'. > Error: ja ...

  9. web项目引入extjs小例子

    一个新的项目,前端用extjs实现!分享一下extjs开发的准备工作! 首先去下载extjs的资源包,这里我是随便在网上下载的! 打开之后 ,目录是这样的! 需要关注的几个文件夹: builds:压缩 ...

  10. **PHP转义Json里的特殊字符的函数

    http://www.banghui.org/11332.html 在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文 ...