码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-30 15:52:47      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

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);



}


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:

原文地址:http://blog.csdn.net/a879365197/article/details/48102041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!