在C语言中,将文本文件读入数组可以通过以下步骤实现:
以下是一个示例代码:
#include<stdio.h>
#include <stdlib.h>
int main() {
FILE *file;
size_t file_size, read_size;
char *buffer;
char *array;
// 打开文件
file = fopen("example.txt", "rb");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 获取文件大小
fseek(file, 0, SEEK_END);
file_size = ftell(file);
fseek(file, 0, SEEK_SET);
// 创建缓冲区
buffer = (char *)malloc(file_size + 1);
if (buffer == NULL) {
printf("无法分配内存\n");
fclose(file);
return 1;
}
// 读取文件内容到缓冲区
read_size = fread(buffer, 1, file_size, file);
if (read_size != file_size) {
printf("读取文件失败\n");
free(buffer);
fclose(file);
return 1;
}
buffer[file_size] = '\0';
// 将缓冲区内容复制到数组中
array = (char *)malloc(file_size + 1);
if (array == NULL) {
printf("无法分配内存\n");
free(buffer);
fclose(file);
return 1;
}
strcpy(array, buffer);
// 关闭文件
free(buffer);
fclose(file);
// 处理数组
printf("数组内容:\n%s\n", array);
free(array);
return 0;
}
这个示例代码将名为“example.txt”的文件读入一个字符数组中,并输出数组内容。请注意,这个示例代码不会处理文件编码、换行符等问题,因此在实际使用中需要根据具体情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云