首页 > 其他分享 >[快速学]C语言-文件操作

[快速学]C语言-文件操作

时间:2023-01-29 00:44:41浏览次数:44  
标签:文件 stream int C语言 FILE 指针 快速 size

 

相关函数位于<stdio.h>中

缓冲区/流

文件和程序之间有输入/输出缓冲区,缓冲区是一个内存空间

文件位置指针

读数据从文件位置指针开始读,写数据从文件指针位置开始覆写

打开文件-fopen()

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

返回一个FILE指针,可将此指针存入一个变量,之后通过该指针操作此时打开的文件

mode表示打开文件的模式,常用mode:(还有很多)

mode 含义
"r" 读取一个文本文件,不写
"w" 创建一个用于写入的文本文件,若文件存在则会清空文件
   
   

关闭文件-fclose()

int fclose( FILE *fp );

当作“关闭文件”使用。关闭文件流,成功则返回0,否则返回EOF。

写字符-fputc()

int fputc (int c, File *fp)

将字符c输出到文件fp中。英文字符一般是ASCII码,用整数表示,也可当作整数计算。中文字符是多字节字符,这种函数一般不能直接用,要做点其他事才行。

写成功,返回输出的字符,否则返回EOF

读字符-fgetc()

int fgetc(FILE *stream);

从文件stream读取一个字符。

读成功,返回读的字符,否则返回EOF。

读文件-fread()

size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

buffer:读入数据的存放地址,一般用一个数组存储

size:一次读的字节数

count:要读几次。总读取的字节数为size*count

stream:文件指针

写文件-fwrite()

size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream);

改变文件的位置指针-fseek()

int fseek(FILE *stream, long offset, int fromwhere);

fseek()执行成功时返回0,否则返回非0值,并设置error的值,可以用perror()函数输出错误。

stream:文件指针

offset:位移量

origin:位移起点

  • 文件开头:  SEEK_SET  0
  • 文件当前位置:SEEK_CUR  1
  • 文件末尾:  SEEK_END  2

返回文件位置指针的位置-ftell()

long ftell(FILE *stream);

返回文件位置指针当前位置相对于文件首的偏移字节数,失败则返回-1

格式化读文件-fscanf()

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

这函数类似于scanf,使用时只是在形参中加了个文件指针。把文件中的内容当作输入即可。

返回成功匹配的参数个数,失败则返回EOF(-1)

示例:fscanf(fp,"%d",&a);

格式化写文件-fprintf()

int fprintf( FILE *stream, const char *format, [ argument ]...);

与printf() 类似,使用时只是在形参中加了个文件指针

示例:fprintf(fp, "%s", "Hello World!");

常用的读文件程序

//读文件

常用的写文件程序

//写文件
       

标签:文件,stream,int,C语言,FILE,指针,快速,size
From: https://www.cnblogs.com/FishSmallWorld/p/17071542.html

相关文章

  • bigwig文件转换为big文件
    将bigwig转换为wig condainstall-cbiocondaucsc-bigwigtowigbigWigToWigsignal.bigWigsignal.wigbigWigToWig:ConvertbigWigtowig.http://hgdownload.cse......
  • 【Python基础学习】7.文件和数据格式化
    主要参考来源:慕课嵩天老师的“Python语言程序设计”[https://www.icourse163.org/course/BIT-268001?tid=1468130447]格式化包括字符串格式化和数据格式化字符串格式化:......
  • Python批量改文件名
    对以下路径中的文件名批量修改。一、读取指定路径中的文件名#导入标准库importos#读取文件名filesDir="路径……"fileNameList=os.listdir(filesDir)#输......
  • VSCode无法跳转C++头文件解决
    问题VSCode安装c++插件后可以在源码与头文件之间跳转(Alt+O)非常方便。突然某天特定的workspace失效,无论如何重装插件活VSCode都不能复原。解决既然其他workspace正常......
  • C语言整型在内存中的存储
    前言对于整型家族里的C语言内置数据结构:char,short,intlong来说,都有无符号(unsigned)和有符号(signed)之分。整型家族在内存中都是以补码的形式存在.一、整型家族char:unsig......
  • 头文件应包含什么,不应包含什么(转)
    转自:https://blog.csdn.net/ALONE_WORK/article/details/126986443 文章知识点来自《大规模C++程序设计》。当程序具有规模的时候,编译、链接的速度跟包含的头文件......
  • C语言基础教程:C语言随机数
    1.随机数概述编写程序过程中,我们经常需要产生一些随机数。随机数在程序中分为两种:真随机数:完全没有规则,无法预测接下来要产生的数。伪随机数:通过一些预先设定好的规则产生......
  • Linux入门,Linux入门教程:Linux文件管理
    一、文件命名规则1、可以使用哪些字符?除了字符“/”之外,所有的字符都可以使用,但是要注意,在目录名或文件名中,不建议使用某些特殊字符,例如,<、>、?、*等,尽量避免使用。如果......
  • Fibonacci数列,从递归,O(N)迭代,动态规划,O(logN)矩阵快速幂到O(1)通项公式
    题目链接:剑指Offer10-I.斐波那契数列-力扣(LeetCode)朴素递归做法核心是一个递归边界和递归体,复杂度分析可画递归树可得,时间复杂度是O(2N),这是一个估算的上界,递归树......
  • win远程连接传递文件
    win用scp指令也可以远程查看传递文件,但无疑比较麻烦。通过下面方法以win的文件夹方式打开远程文件夹。win+r打开命令栏输入\\+远程地址例如远程地址为10.18.11.127时,......