unix环境高级编程——标准IO

本文详细介绍了标准IO函数的使用,包括打开文件、读取与写入数据流、直接IO操作,并展示了如何实现文件复制。通过实例解析,帮助读者掌握文件I/O的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、对于系统调用中的IO,是针对文件描述符的。而对于标准的IO是针对流的。

标准的IO函数返回一个指向FILE的指针。


2、打开流


FILE *f;

f = fopen("./a.txt",wr+);

通过上面得到打开文件的指针,以后的操作可以根据此指针来进行。


3、读和写数据流

(1)每次读一个字符的IO:  getc(f)  fgetc(f)  getchar()

  getchar():表示从标准输入中获得字符

char c;  

FILE *f;

f = fopen("./a.txt",wr+);

c = fgetc(f);

c = getc(f);

fputs(“d”,fp)  :将字符“d”写入文件中

putchar:表示将字符输出到标准输出

(2)每次一行的IO

gets fgets




(3)直接IO,fread,fwrite


fwrite(buffer,size,count,fp)

buffer:代表要输入的数据

size:每个数据类型的大小

count:数据的数量

fp:要输入的文件指针


char  *buffer ="abcdefg";

fp = fopen("./b.txt","rb+");

fwrite(buffer,sizeof(char),strlen(buffer),fp)

这样就可以把buffer中的字符写入b.txt中啦


实现文件的复制:


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void main()
{
   FILE  *fa,*fb;
   char b[100];
   long size;
   fa = fopen("./a.txt","rb+");
   fb = fopen("./b.txt","rb+");
   fseek(fb,0,SEEK_END); //fseek将文件指针指向最后
   size = ftell(fb);     //计算出文件字符数
   rewind(fb);


   fread(b,sizeof(char),size,fb);
   fwrite(b,sizeof(char),strlen(b),fa);



}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值