C语言—文件操作

文件I/O操作有两种基本方式:        

(1)系统调用I/O  

              低一级的I/O,在处理设备、管道、网络套接字特殊类型的文件时候必须用        

(2)基于流的I/O

              建立在系统调用的I/O方法上的C函数库,基于系统调用方法的封装并增加了额外的功能

基于流的I/O—— 打开、创建一个文件

FILE   *fopen( const  char  *path,const  char  *mode) ;
模式模式说明
“r”只读
“r+”读写‘
“w”只写
“w+”读写,存在则清空,不存在则创建,指针指向文件首地址
“a”追加只写,存在指针指向尾,不存在则创建
“a+”追加读写,存在指针指向尾,不存在则创建

基于流的I/O—— 关闭一个文件

FILE   *fclose( FILE  *p) ;
Eg:
 #include  <stdio.h>
    int  main(int  argc, char  **argv)
    {   FILE  *fp;
       if(argc != 2)
         {  printf("usage:fopen\n");
           return  -1;
         }

基于流的I/O——关闭一个文件

Eg:
   fp = fopen(argv[1],  "w+");
  if( fp == NULL )
    perror("asdffd fopen error");
   else
     {  printf("fopen [%s] success\n", argv[1]);
           if(fclose(fp) != 0 )
             perror("fclose error");
           else
            printf("fclose [%s] success\n", argv[1]); 
       }
        return  0;
       }

基于流的I/O—— 按字符读文件 

int   fgetc(FILE  *stream) ;
Eg:
    #include  <stdio.h>
    int  main(int  argc, char  **argv)
    {  char  c;
       FILE  *fp;
       if(argc != 2)
         {  printf("usage:fopen\n");
           return  -1; }
      fp = fopen(argv[1],  "r");

基于流的I/O—— 按字符写文件 

 int   fputc(int  c, FILE  *stream) ;
Eg:
#include  <stdio.h>
    int  main(int  argc, char  **argv)
    {  char  c;
       FILE  *fp_read, *fp_write;
       if(argc != 3)
         {  printf("usage:fopen\n");
           return  -1;
         }

基于流的I/O—— 文件的随机存取

    int   fseek(FILE  *stream, long  offset,int  whence ) ;
    whence:
         SEEK_SET         // 从文件头开始计算
         SEEK_CUR         // 从文件当前位置开始计算
         SEEK_END         // 从文件结尾开始计算
      
    long   ftell(FILE  *stream ) ;//  获取当前指针位置
   
     void  rewind(FILE  *stream) // 指针指向文件的开始位置 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值