C语言基础二 -----文件的输入与输出

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:说的比较细方便理解,有意见或者建议请评论,互相进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值