C语言进阶:文件操作与IO流
发布时间: 2024-03-28 23:06:45 阅读量: 30 订阅数: 36
# 1. 文件操作基础
文件操作是程序开发中常见的一项任务,通过文件操作可以实现数据的读取、存储和管理。在C语言中,文件操作是通过文件指针和文件流来完成的。本章将介绍文件操作的基础知识,包括文件操作的概述、文件指针与文件流以及文件的打开与关闭操作。让我们一起深入了解吧!
# 2. 文件读写操作
在C语言中,文件的读写操作是我们常见的操作之一。通过文件读写,我们可以实现数据的持久化存储和文件之间的数据传输。接下来,我们将介绍文件读写的相关操作。让我们一起深入了解吧。
### 2.1 文件读取操作
文件读取操作可以通过fopen函数打开一个文件,然后使用fscanf或fread函数读取文件中的数据。下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
FILE *file;
char data[100];
// 打开文件
file = fopen("example.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 读取文件内容
fscanf(file, "%s", data);
printf("读取的数据: %s\n", data);
// 关闭文件
fclose(file);
return 0;
}
```
**代码说明:**
- 首先我们使用fopen函数以只读模式打开一个名为`example.txt`的文件。
- 然后我们使用fscanf函数读取文件中的数据,并通过`%s`指定读取的格式为字符串。
- 最后关闭文件指针以释放资源。
**运行结果:**
若`example.txt`文件中内容为`Hello, World!`,则程序将输出:`读取的数据: Hello,`。
### 2.2 文件写入操作
文件写入操作与文件读取操作类似,通过fopen函数打开文件,再使用fprintf或fwrite函数向文件中写入数据。下面是一个简单的写入示例:
```c
#include <stdio.h>
int main() {
FILE *file;
char data[] = "这是写入的数据";
// 打开文件
file = fopen("output.txt", "w");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 写入数据
fprintf(file, "%s", data);
// 关闭文件
fclose(file);
return 0;
}
```
**代码说明:**
- 我们使用fopen函数以写入模式打开一个名为`output.txt`的文件。
- 然后使用fprintf函数向文件中写入数据,这里我们写入了字符串`这是写入的数据`。
- 最后关闭文件以保存数据并释放资源。
**运行结果:**
执行该程序后,会在当前目录下生成一个`output.txt`文件,内容为`这是写入的数据`。
### 2.3 文件定位操作
在文件读写过程中,有时候我们需要移动文件指针到文件的特定位置。这可以通过fseek函数来实现。下面是一个示例:
```c
#include <stdio.h>
int main() {
FILE *file;
char data[10];
file = fopen("example.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 在文件中移动指针到第5个字节处
fseek(file, 4, SEEK_SET);
// 读取数据
fscanf(file, "%s", data);
printf("从文件第5个字节开始读取的数据: %s\n", data);
fclose(file);
return 0;
}
```
**代码说明:**
- 我们使用fopen函数打开名为`example.txt`的文件,以只读模式。
- 然后使用fseek函数将文件指针移动到文件的第5个字节处。
- 最后读取数据并输出,这里读取了从第5个字节开始的数据。
**运行结果:**
若文件中前四个字节为空格,第五个字节开始为`Hello`,则程序将输出:`从文件第5个字节开始读取的数据: Hello`。
通过以上示例,我们可以看到文件读写操作的基本实现和操作方法,这些操作为文件处理提供了便利。
# 3. 文本文件处理
在C语言中,文本文件处理是一个非常常见的操作。下面将介绍一些文本文件处理的基本操作,包括文本文件的读写、格式化输出以及逐行处理。
#### 3.1 文本文件读写
文本文件的读写操作是我们在日常编程中经常会遇到的操作之一。下面通过一个简单的示例演示如何进行文本文件的读写操作:
```c
#include <stdio.h>
int main() {
FILE *fp; // 文件指针
char str[100]; // 存储读取的字符串
char text[] = "Hello, World!"; // 要写入的字符串
// 打开文件进行写入操作
fp = fopen("test.txt", "w");
fprintf(fp, "%s\n",
```
0
0