c语言将txt文件的内容添加进数组
时间: 2024-12-22 17:28:32 浏览: 4
在C语言中,将文本文件的内容读取并存储到字符数组中通常需要以下几个步骤:
1. 打开文件:使用`fopen()`函数打开指定的.txt文件,如果成功,返回一个指向文件的指针。
```c
FILE *fp = fopen("filename.txt", "r");
```
2. 检查文件是否成功打开:检查`fp`是否为空,若为空则表示打开失败。
```c
if (fp == NULL) {
printf("Error opening file.\n");
return;
}
```
3. 预先分配内存:确定文本文件的最大长度,并动态分配足够的空间用于存放内容。可以使用`getline()`或手动遍历行数预估。
```c
size_t fileSize = 0;
char content[BUFSIZE]; // 假设有一个名为BUFSIZE的宏定义作为缓冲区大小
while ((fileSize += fread(content + fileSize, sizeof(char), 1, fp)) != 0 && !feof(fp)) {}
content[fileSize] = '\0'; // 添加空字符结束字符串
fclose(fp);
```
4. 内容读取到数组中:上面的`fread()`循环会逐个字节地读取直到文件结束,将内容追加到数组`content`中。
5. 检查是否有错误:如果`feof(fp)`返回非零值,则表明已到达文件结尾,无更多数据。
6. 最后关闭文件:记得在完成操作后使用`fclose()`关闭文件。
现在,数组`content`中就包含了文件的全部内容。例如,如果你想处理每一行,可以在读取过程中修改代码以分割行。
阅读全文