注意:在对文件进行具体操作时,必须遵守"**打开(创建)——读/写——关闭"**的操作流程。
常用的文件系统函数如下:
分类 | 函数名 |
---|---|
打开文件 | fopen() |
关闭文件 | fclose() |
文件定位 | fseek() (改变文件位置的指针位置) rewind()(使文件位置重新置于文件开头) ftell()(返回文件指针的当前值) |
文件读写 | fgetc()(从文件中读取一个字符) fgetc()(把字符输出到指定文件) fgets()(读取字符串) fputs()(把字符串输出到指定文件) getw()(从指定文件中读取一个字(int 型)) putw()(把一个字(int 型)输出到指定文件 fread()(从指定文件中读取该项数据) fwrite()(把数据写到指定文件) fscanf()(把指定文件按格式输入数据) fprintf()(按指定格式将数据写到指定文件中) |
一.文件的打开与关闭
1.使用 fopen() 函数即可打开文件,它的用法为:FILE *fopen(char *filename, char *mode);
filename 为文件名(包括文件路径),mode为打开方式,它们都是字符串。
文件的使用方式 | 意义 |
---|---|
r(read) | 读 |
w(write) | 写 |
a(append) | 追加 |
t(text) | 文本文件,可省略不写 |
b(binary) | 二进制文本 |
+ | 读和写 |
例如:
FILE *fp = fopen("demo.txt", "r");
表示以“只读”方式打开当前目录下的 demo.txt 文件,并使 fp 指向该文件。fp 通常被称为文件指针。
2.使用fclose关闭文件
int fclose(FILE *fp);
例如:
fclose(fp);
文件正常关闭时,fclose() 的返回值为0,如果返回非零值则表示有错误发生.
二.文件读写函数
1.fget()和fput().
fgetc 函数 :从指定文件读入一个字符。函数原型为: `int fgetc(FILE *fp)`
fputc 函数:将一个字符写到指定的文件中,若写成功返回以输出字符,否则返回 EOF.
函数原型为:int fputc(char ch,FILE *fp)
2.fgets和fputs.
1.fgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中,它的函数原型为:
char *fgets ( char *str, int n, FILE *fp );
str 为字符数组,n 为要读取的字符数目,fp 为文件指针。
返回值:读取成功时返回字符数组首地址,也即 str;读取失败时返回 NULL;如果开始读取时文件内部指针已经指向了文件末尾,那么将读取不到任何字符,也返回 NULL
2.fputs() 函数用来向指定的文件写入一个字符串,它的函数原型为:
int fputs( char *str, FILE *fp );
写入成功返回非负数,失败返回 EOF
3.fscanf和fprintf.
fscanf:从指定的文件中格式化读入数据。其函数原型为:
int fscanf(FILE *fp,"格式化字符串",【输入项地址表】);
fprintf:格式化写数据到指定的文件中,函数原型为:
int fprintf(FILE *fp,"格式化字符串",【输入项地址表】);
fprintf() 返回成功写入的字符的个数,失败则返回负数。fscanf() 返回参数列表中被成功赋值的参数个数。
4.fread和fwrite.
fread:从指定文件读入一组数据
fread(buffer, size, count, file);
buffer 存放读入数据的内存首地址
size 每个数据项的字节数
count 数据项个数
file 文件类型的指针
fwrite:将一组数据写到指定的文件中
fwrite( buffer, size, count, file);
buffer 输出数据的首地址
size 每个数据项的字节数
count 数据项个数
file 文件类型的指针
三.文件定位
1.rewind函数。
rewind 函数:将文件的读写指针移动到文件的开头void rewind(FILE *fp);
2.fseek函数。
fseek函数:用来将位置指针移动到任意位置int fseek ( FILE *fp, long offset, int whence );
是将文件指针由whence地址移动到offset的地址。
3.ftell函数。
ftell函数:返回文件的当前读写位置,若出错返回(-1L)。ftell(文件指针);
来源:CSDN
作者:月亮很亮123
链接:https://blog.csdn.net/dfwef24t5/article/details/103754993