在C语言中,调用文件的方法主要有以下两种:
-
使用标准库函数进行文件操作:
- 打开文件:使用`fopen()`函数打开一个文件,并返回一个指向该文件的指针。函数原型为`FILE fopen(const char filename, const char *mode)`,其中`filename`为文件名,`mode`为操作模式(如"r"表示只读,"w"表示写入,"a"表示追加等)。
- 读写文件:使用`fread()`和`fwrite()`函数进行文件的读写操作。`fread()`函数原型为`size_t fread(void ptr, size_t size, size_t count, FILE stream)`,其中`ptr`为读取的数据存放的内存地址,`size`为每个数据项的字节数,`count`为要读取的数据项个数,`stream`为要读取的文件指针。`fwrite()`函数原型和参数类似,用于向文件中写入数据。
- 关闭文件:使用`fclose()`函数关闭已打开的文件。函数原型为`int fclose(FILE *stream)`,其中`stream`为要关闭的文件指针。
-
使用低级I/O函数进行文件操作:
- 打开文件:使用`open()`函数打开文件,并返回一个文件描述符。函数原型为`int open(const char *filename, int flags, mode_t mode)`,其中`filename`为文件名,`flags`为打开文件的标志(如`O_RDONLY`表示只读,`O_WRONLY`表示写入,`O_APPEND`表示追加等),`mode`为文件的访问权限。
- 读写文件:使用`read()`和`write()`函数进行文件的读写操作。`read()`函数原型为`ssize_t read(int fd, void *buf, size_t count)`,其中`fd`为文件描述符,`buf`为读取的数据存放的内存地址,`count`为要读取的字节数。`write()`函数原型和参数类似,用于向文件中写入数据。
- 关闭文件:使用`close()`函数关闭已打开的文件。函数原型为`int close(int fd)`,其中`fd`为要关闭的文件描述符。
需要注意的是,在使用文件操作函数时,需要包含相关的头文件(如`stdio.h`和`fcntl.h`)并进行错误处理。另外,还可以使用其他一些函数来设置文件指针位置、判断文件是否存在等。