文件IO编程八

这一节主要是讲标准IO

标准IO的操作对象是文件指针,FILE *。而且标准IO是有缓冲区的。stdout是行缓冲。这个文件指针则是由fopen()函数获取的。


(1)  fopen

FILE *fopen(const char *path, const char *mode);

头文件 #include <stdio.h>

path:要打开的文件。

mode: “r”:  以只读方式打开文件,要求文件必须存在。

   “r+”: 以读写方式打开文件,要求文件必须存在。

   “w”:  以只写方式打开文件,文件如果不存在将会创建新文件,如果存在将会将其内容清空。

   “w+” : 以读写方式打开文件,文件如果不存在将会创建新文件,如果存在将会将其内容清空。\

           “a” : 以只写方式打开文件,文件如果不存在将会创建新文件,且文件位置偏移量被自动定位到文件末尾(即以   追加方式写数据)。

   “a+” : 以读写方式打开文件,文件如果不存在将会创建新文件,且文件位置偏移量被自动定位到文件末尾(即     以追加方式写数据)。


(2) fclose

int fclose(FILE *fp);

头文件 #include <stdio.h> 关闭指定的文件并释放其资源

失败返回EOF,成功返回0。

该函数用于释放由 fopen( )申请的系统资源,包括释放标准 IO 缓冲区内存,因此fclose( )不能对一个文件重复关闭。标准输入输出设备是默认被打开的,在标准 IO 中也是一样,他们在程序的一开始就已经拥有相应的文件指针了:

                        

(3) fgetc

头文件:include<stdio.h>

定义函数:int fgetc(FILE * stream);
说明:fgetc()从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF


FILE *fp = fopen(argv[1], "r");
if(fp == NULL)
{
perror("fopen() failed");
exit(1);
}

while(1)
{
int c = fgetc(fp);
if(c == EOF)
break;

// printf("%c", c);
fprintf(stdout, "%c", c);
}
fclose(fp);

 

printf 指定向屏幕这个文件输出
fprintf 是可向别的文件

getchar是指定从键盘输入


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值