嵌入式学习库函数文件操作

嵌入式学习库函数文件操作

使用库函数操作文件,可以写出跨平台的代码。这是其优点。下面介绍C库函数操作文件的方法。这里是相关API。

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

打开文件fopen

FILE * fopen*(const char * filename, const char * mode)
filename: 打开的文件名(包含路径,缺省则为当前路径)
mode:打开模式

b在mode中用于区分二进制文件和文本文件,这一点在DOS,Windows系统中是有区别的,但是在Linux中并不区分。在Windows系统中当读文件时\n被替换成\r\n。写文件时\r\n被替换为\n。

读文件fread

size_t fread(void * ptr, size_t size, size_t n, FILE * stream);
/*
从stream指向的文件中读取n个字段,每个字段的字节为size。并将读取的数据放入
ptr所指的字符数组中,返回实际已经读取的数据字段数。
*/

man fread查看详细

写文件fwrite

size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
从缓冲去ptr所指的数组中吧n个字段写到stream指向的文件中,每个字段长为size个字节,返回实际写入的字段数。

man fwrite查看详细

文件指针操作fseek

int fseek(FILE * stream, long offset, int whence);
whence: SEEK_SET, SEEK_CUR, SEEK_END

获取当前路径

char * getcwd(char * buffer, size_t size);
如果buffer太小,会返回-1

创建目录

int mkdir(char * dir, int mode);
详细信息 man 2 mkdir

不常用的文件操作函数

  • fgetc
  • fputc
  • fscanf
  • fprintf

猜你喜欢

转载自blog.csdn.net/qonsnow/article/details/81193119