C语言文件操作的参考示例

    FILE *fp = NULL;
    char line[1024] = {0};
    
    fp = fopen("20200922_1622.csv", "r+");
    if( NULL == fp ) {
        printf("Fail to open file!\n");
        return 0;
    }
    
    do
    {
        memset(line, 0, sizeof(line));
        line = fgets(line, 1024, fp);
        if (NULL == line) {
            printf("get line is null\n");
            break;
        }
        printf("line is:%s \n", line);
        if(line[0] == '#') {
            continue ;
        }
    }while(tmp != NULL );//逐行读取数据

    if( NULL == fp ) {
        printf("fp is null!\n");
    } else {
        fclose(fp);
        fp = NULL;
    }

头文件:#include <stdio.h>

定义函数:int fseek(FILE * stream, long offset, int whence);

参数 whence 为下列其中一种:

  •     SEEK_SET 参数offset 即为新的读写位置.
  •     SEEK_CUR 以目前的读写位置往后增加offset 个位移量.
  •     SEEK_END 将读写位置指向文件尾后再增加offset 个位移量. 当whence 值为SEEK_CUR 或
  •     SEEK_END 时, 参数offet 允许负值的出现.

举例:

fseek(fp, 0L, SEEK_SET);       //定位至文件开始处
fseek(fp, 10L, SEEK_SET);      //定位至文件中的第10个字节
fseek(fp, 2L, SEEK_CUR);      //从文件当前位置前移2个字节
fseek(fp, 0L, SEEK_END);       //定位至文件结尾
fseek(fp, -10, SEEK_END);      //从文件结尾处回退10个字节


定义函数:long ftell(FILE * stream);

ftell()函数返回指定流的当前文件指针的位置。

示例代码:

long getfilelength(FILE *fp)
{
    long curpos=0L;
    long length=0L;
    curpos = ftell(fp);
    fseek(fp, 0L, SEEK_END);
    length = ftell(fp);
    fseek(fp, curpos, SEEK_SET);
    return length;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值