胡神

导航

2-2 库函数-文件访问

1.创建和打开文件

FILE *fopen(const char *filename,const char *mode)

filename:文件名

mode:打开模式(字符串)

2. 常见打开模式

r,rb:只读方式打开

w,wb:只写方式打开,如果文件不存在,则创建文件

a,ab:追加方式打开,如果文件不存在,则创建文件

r+,rb+,r+b:读写方式打开

w+,wb+,w+b:读写方式打开,如果文件不存在,则创建文件

a+,ab+,a+b:读和追加方式打开,如果文件不存在,则创建文件

3,读写字符串

size_z fread(void *ptr,size_z size,size_z n,FILE *stream)

size_z fwrite(void *ptr,size_z size,size_z n,FILE *stream)

4.读写字符

int fgetc(FILE *stream)

从指定文件中读一个字符,为返回值。到达文件尾或结束的时候返回EOF

int fputc(char c,FILE *stream)

函数把一个字符写到一个输出的文件流中,返回写入的值,如果失败返回EOF

5. 格式化读

int  fscanf(FILE *stream,char *format[,argument..........])

从一个流中格式化输入

如:

FILE *fp;

int i;

fscanf(fp,"%d",i);

6.格式化写

int fprint(FILE *stream,char *format[,argument..........])

格式化输出到一个流中

如:

FILE *stream;

 char s[]="this is a string";
 char c='\n';
 stream=fopen("s3","w");
 fprintf(stream,"%s%c",s,c);
 fprintf(stream,"hah\nasd");
 fclose(stream);

 

 

7.fputc  fgutc实例

 

#include <stdio.h>
main()
{
 FILE *fp;
 char ch;
 if((fp=fopen("s1","rt"))==NULL)
 {
  printf("存在错误\n");
  //getch();
  exit(1);
 }
 ch=fgetc(fp);
 while(ch!=EOF)
 {
  putchar(ch);   //输出到屏幕
  ch=fgetc(fp);
 }
 fclose(fp);
}

 

 

 

 

#include <stdio.h>
main()
{
 FILE *in,*out;
 char ch;
 if((in=fopen("s2","rt"))==NULL)
 {
  printf("存在错误\n");
  //getch();
  exit(1);
 }
 
 if((out=fopen("s3","a+"))==NULL)
 {
  printf("存在错误\n");
  //getch();
  exit(1);
 }
 
 ch=fgetc(in);
 while(ch!=EOF)
 {
  putchar(ch);  ///////////////
  fputc(ch,out);
  ch=fgetc(in);
  
 }
 fclose(in);
 fclose(out);
}

 

 

 

 

 

 

 

 

 

 

 

posted on 2011-08-26 23:41  胡神  阅读(991)  评论(1编辑  收藏  举报