c++ 输入输出

语句对比

http://blog.csdn.net/hou09tian/article/details/70045040
scanf()
遇到空格或回车都会认为是输入结束。处理多种格式的输入。

 while (scanf("%d%d", &n, &e) != EOF)  //每次读两个数

%c 读入一个字符
%d 读入十进制整数
%s 读入一个字符串
%f 读入一个浮点数
%i 读入十进制,八进制,十六进制整数
%o 读入八进制整数
%x 读入十六进制整数
%p 读入一个指针
%u 读入一个无符号十进制整数
%% 读%符号
附加格式说明字符表
修饰符 说明
L/l 长度修饰符 输入"长"数据
h 长度修饰符 输入"短"数据
W 整型常数 指定输入数据所占宽度

  • 星号 空读一个数据

EOF: end of file

 while (scanf("%17s%c", str, &check) != EOF)  //前17为读为字符串,最后一位读为字符

gets()
处理字符串输入。遇到回车会认为是输入结束
gets()函数和scanf()函数都不能处理回车符。即把回车符看作再次输入的字符。

string str;
gets(str);
char str[100];
gets(str);
int i=0;
while(str[i]1='\0'){
  ....;
  ++i;
}

getline()
函数遇到回车停止读入,但是此时会屏蔽回车键。

string a, b;
    getline(cin, a);//为了防止第一行是空的,不能用cin >> a,用getline(cin, a)
    getline(cin, b);

getchar()
消除回车问题

效率对比

c 的输入比 c++ 快


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C/C++输入输出流总结 前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终...
    LuckTime阅读 1,753评论 0 6
  • C++支持两种I/O,第一种是从C语言继承来的,一种是由C++定义的面向对象I/O系统。 从C继承来的I/O操作 ...
    Mr希灵阅读 935评论 0 0
  • 1 C++输出 先介绍一个不太好用的,基于cout的格式控制: 常见的是保留几位小数的问题e.g. 保留7位小数#...
    大草原上的小羊糕阅读 1,668评论 1 2
  • 浅谈C++常用输入输出 在编写C++程序的时候,经常因为输入输出头疼,所以在这里做一个小结,记录一下常用的输入输出...
    MinoyJet阅读 3,777评论 0 6
  • c++的输入输出不是建立在语言上的,而是由iostream和fstream文件中定义的一组模板类实现的,且这个类库...
    Tianql阅读 3,361评论 0 1