C语言基础二 -----文件的输入与输出
2015-09-07 22:25
232 查看
1.常用的几种I/O函数 scanf/printf:最常用的输入与输出函数; fscanf/fprintf:格式化输入输出;这两种I/O方式的关系在于fscanf/fprintf代表从文件中输入/输出到文件(这里的文件并不是日常所理解的数据文件,代表着设备文件,在Linux系统内核中,万物皆文件),默认情况下这里的文件stdin,stdout以及stderr分别代表着键盘(文件),屏幕(文件),屏幕(文件),但标准输入输出中这些文件的指向可以重新定义,即输入不一定从键盘(文件),而输出也不见得是屏幕(文件)了。而scanf/printf则可以理解为已经封装好的标准输入输出函数,其指向不可更改。综上所述,其区别在于一个可指向所有文件,另一个只能指向键盘和屏幕;重定向函数:FILE
*命名=
freopen
(重新指向的文件名
, 使用权限
,需要重新指向的文件名);
例:
#include<stdio.h>
int main()
{
char str[10];
//FILE*in=freopen("come.txt","r",stdin);
fscanf(stdin,"%s",str);
//FILE*out=freopen("out.txt","w",stdout);
fprintf(stdout,"%s",str);
}
这个程序中加上注释即等效为常见的输入输出函数,将注释去掉即重定向文件从设备文件指向数据文件;
为什么要将stdout与stderr分开呢?
为了方便单独将某些信息从输出到显示器转而指向数据文件,而不影响正常标准输出;2.getchar()与putchar() getchar()常用来从键盘上获得单个字符,与scanf一样,将得到的内容放入缓存区,换行命令后结束输入; getch()与其不同在于不需要换行命令,且不回显于控制台中,该函数多利用与游戏操作指令,头文件为conio.h;PS:说的比较细方便理解,有意见或者建议请评论,互相进步!
相关文章推荐
- C++服务器的push推送通知的代码,SSL链接
- 项目7.1计算正差值
- C语言打印16进制出现0xffffff现象的问题剖析!
- C++ 大数处理
- Python使用C语言生成的库
- c++之模板
- 项目4.4计算圆柱体表面积
- cmake 编译opencv 出现 The C++ compiler "C:/Program Files/Microsoft Visual Studio 10.0/VC/bin/cl.exe
- 练习3.42 将含有整数元素的vector对象拷贝到数组上
- C++ Vector swap操作前后迭代器为何不失效
- C++Primer快速浏览笔记-复合类型
- C++11在时空性能方面的改进
- C语言篇——小谈预处理命令
- C语言利用栈实现将中缀表达式转换为后缀表达式(即逆波兰式)
- 【C语言】-变量之间的类型转换
- C++递归生成格雷码
- C++技术点积累(2)——拷贝构造函数、深拷贝、浅拷贝
- HDU 1542 Atlantis (线段树 +离散化+ 扫描线)
- 第一课:C语言编程
- C++ 之 explicit,mutable,volatile 浅析