LINUX学习(1)---基于文件指针的操作

学习笔记。

一、文件创建,打开和关闭

头文件:#include<stdio.h>

FILE *fopen(const char *path,const char *mode);//打开文件
int fclose(FILE *stream);//关闭文件

例如:

FILE *fp=fopen("file","ab+");//以ab+模式打开file文件
flose(fp);//关闭文件

其中,mode有六种模式:

模式 位置 截断原内容 创建
rb Y N head N N
rb+ Y Y head N N
wb N Y head Y Y
wb+ Y Y head Y Y
ab N Y tail N Y
ab+ Y Y tail N Y

二、读写文件

1、数据块读写:

size_t fread(void *ptr,size_t size,size_t nmemb,FILE *stream);//从文件流stream中读取nmemb个元素内容到ptr所指内存,每个元素大小为size
size_t fwrite(void *ptr,size_t size,size_t nmemb,FILE *stream);//将ptr所指的内存空间中nmemb个每个元素大小为size的元素写入到文件流stream中

例:
main.c:

     1	#include <func.h>
     2	
     3	int main(int argc,char* argv[])
     4	{
   
     5	    ARGS_CHECK(argc,2);
     6	    FILE *fp=fopen(argv[1],"rb+");//以rb+方式打开文件
     7	    char buf[128]={
   0};
     8	    fread(buf,5,sizeof(char),fp);//读取文件中5个字符
     9	    printf("%s\n",buf);
    10	
    11	    fclose(fp);
    12	    return 0;
    13	}	

结果:
在这里插入图片描述

2、文件定位
函数:

int fseek(FILE *stream, long offset, int whence);
void rewind(FILE *stream);//将文件流读写位置移到文件开头

whence 表示文件指针偏移位置,可以是以下几个:

  • SEEK_SET //文件开头,0
  • SEEK_CUR //文件当前位置,1
  • SEEK_END //文件末尾,2
    示例代码:
    1 #include <func.h>
    2 
    3 int main(int argc,char* argv[])
    4 {
   
    5     ARGS_CHECK(argc,2);6     int ret;
    7     FILE *fp=fopen(argv[1],"rb+");
    8     char buf[128]={
   0}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值