c语言文件读写操作代码
时间: 2023-08-31 08:20:00 浏览: 44
### 回答1:
文件读写在 C 语言中非常常见,可以使用标准库函数来进行操作。下面是一个简单的文件读写示例代码:
```c
#include <stdio.h>
int main() {
FILE *fp; // 声明文件指针
char str[100]; // 用于存储读取的字符串
// 打开文件,如果文件不存在则创建
fp = fopen("file.txt", "w+");
// 写入字符串到文件中
fprintf(fp, "Hello, World!\n");
// 关闭文件
fclose(fp);
// 打开文件,以只读方式读取
fp = fopen("file.txt", "r");
// 读取文件中的字符串
fgets(str, 100, fp);
// 输出读取的字符串
printf("%s", str);
// 关闭文件
fclose(fp);
return 0;
}
```
在上述代码中,我们使用了 `fopen()` 函数打开文件,并使用 `fprintf()` 函数将字符串写入文件中。接着使用 `fclose()` 函数关闭文件。之后再次使用 `fopen()` 函数以只读方式打开文件,并使用 `fgets()` 函数读取文件中的字符串。最后使用 `printf()` 函数输出读取的字符串,并再次使用 `fclose()` 函数关闭文件。
### 回答2:
C语言可以通过文件读写操作来实现对文件的读取和写入。首先,需要打开文件,可以使用fopen函数来打开文件。
```c
FILE *fp;
fp = fopen("filename.txt", "r"); // 以只读方式打开文件
if (fp == NULL) {
printf("无法打开文件\n");
return;
}
```
上述代码中,打开文件时需要指定文件名和文件打开的方式。如果文件打开成功,会返回一个指向该文件的指针。如果打开文件失败,可以通过判断指针是否为NULL来确定是否成功打开文件。
接下来,可以使用fscanf函数来从文件中读取内容。
```c
int num;
fscanf(fp, "%d", &num); // 从文件中读取一个整数
printf("读取的内容是:%d\n", num);
```
上述代码中,将读取的内容存入一个变量中,可以根据具体需要进行相应的处理。读取多个内容时,可以使用循环来实现。
在读取完文件内容后,需要使用fclose函数关闭文件。
```c
fclose(fp); // 关闭文件
```
文件写入操作与文件读取类似,首先需要打开文件,需要指定文件名和文件打开的方式。
```c
FILE *fp;
fp = fopen("filename.txt", "w"); // 以写入方式打开文件
if (fp == NULL) {
printf("无法打开文件\n");
return;
}
```
上述代码中,以写入方式打开文件,如果文件不存在则创建新文件,如果文件已存在则清空文件内容再写入。
然后可以使用fprintf函数将内容写入文件。
```c
int num = 10;
fprintf(fp, "%d", num); // 将一个整数写入文件
```
上述代码中,将一个整数写入文件。写入多个内容时,可以使用循环等方式进行实现。
最后,使用fclose函数关闭文件。
```c
fclose(fp); // 关闭文件
```
需要注意的是,操作文件时需要确保文件存在并具有读写权限。
### 回答3:
C语言提供了多种函数用于进行文件读写操作。常用的函数有:
1. fopen:打开文件,返回文件指针。
```c
FILE* fopen(const char* filename, const char* mode);
```
其中,filename表示文件名(包括路径),mode表示文件打开模式(如"r"表示只读,"w"表示写入,"a"表示追加等)。
2. fprintf:向文件写入格式化数据。
```c
int fprintf(FILE* stream, const char* format, ...);
```
其中,stream表示文件指针,format为格式化字符串,后面的...表示需要写入的具体数据。
3. fscanf:从文件中读取格式化数据。
```c
int fscanf(FILE* stream, const char* format, ...);
```
其中,stream表示文件指针,format为格式化字符串,后面的...表示需要读取数据的变量。
4. fgetc和fputc:逐字符读取和写入文件。
```c
int fgetc(FILE* stream);
int fputc(int character, FILE* stream);
```
其中,fgetc从文件中获取一个字符,fputc将一个字符写入文件。
5. fgets和fputs:逐行读取和写入文件。
```c
char* fgets(char* str, int num, FILE* stream);
int fputs(const char* str, FILE* stream);
```
其中,fgets从文件中获取一行内容,fputs将一行内容写入文件。
6. fclose:关闭文件。
```c
int fclose(FILE* stream);
```
其中,stream表示文件指针。
使用这些函数可以实现文件的读写操作。需要先打开文件,然后根据需求选择合适的读写函数进行操作,最后关闭文件。