c语言文件操作函数详解
时间: 2023-08-19 10:15:01 浏览: 95
好的,下面详细介绍一下 C 语言中常用的文件操作函数:
1. fopen():打开文件,返回文件指针。
```
FILE *fp;
fp = fopen("filename", "mode");
```
其中,filename 是要打开的文件名,mode 是文件打开的模式。常用的 mode 选项有:
- "r":只读模式,打开已存在的文件。
- "w":写入模式,打开已存在的文件并截断为零长度,或创建一个新文件。
- "a":追加模式,打开已存在的文件并将文件指针指向文件末尾,或创建一个新文件。
- "rb"、"wb"、"ab":二进制模式,与上述模式相同,但是以二进制格式读写文件。
如果文件打开成功,返回一个非空的文件指针;否则返回 NULL。
2. fclose():关闭文件。
```
fclose(fp);
```
关闭文件后,释放文件所占用的资源。如果文件操作失败,返回 EOF。
3. fgetc():从文件中读取一个字符。
```
char c;
c = fgetc(fp);
```
从文件中读取一个字符,并将文件指针移动到下一个字符。如果读到文件结尾或者文件读取失败,返回 EOF。
4. fgets():从文件中读取一行字符串。
```
char str[100];
fgets(str, 100, fp);
```
从文件中读取一行字符串,并将文件指针移动到下一行。如果读到文件结尾或者文件读取失败,返回 NULL。
5. fprintf():向文件中写入格式化的字符串。
```
int num = 10;
fprintf(fp, "The number is %d\n", num);
```
将格式化的字符串写入到文件中。
6. fputs():向文件中写入字符串。
```
char str[] = "Hello, world!";
fputs(str, fp);
```
将字符串写入到文件中。
7. fwrite():从内存中写入二进制数据到文件。
```
int nums[] = {1, 2, 3, 4, 5};
fwrite(nums, sizeof(int), 5, fp);
```
将 nums 数组中的 5 个整数以二进制形式写入到文件中。
8. fread():从文件中读取二进制数据到内存。
```
int nums[5];
fread(nums, sizeof(int), 5, fp);
```
从文件中读取 5 个整数,以二进制形式存储到 nums 数组中。
9. fseek():设置文件指针的位置。
```
fseek(fp, offset, from);
```
将文件指针设置为从 from(SEEK_SET、SEEK_CUR、SEEK_END 之一)偏移 offset 个字节的位置。
10. ftell():获取文件指针的位置。
```
long pos = ftell(fp);
```
返回文件指针在文件中的当前位置。
11. rewind():将文件指针移动到文件开头。
```
rewind(fp);
```
将文件指针移动到文件开头。
以上是 C 语言中常用的文件操作函数,需要注意的是,在使用完文件后,必须使用 fclose() 函数关闭文件,以便释放资源。