为什么用C语言读取文本文件并保存到数组中,读取数组中内容发现文本文件中前面一部分数据并没有读取并保存呢?
#include <stdio.h>
#include <stdlib.h>
int main() {
// 打开文本文件
FILE *fp = fopen("your_text_file.txt", "r");
if (fp == NULL) {
perror("Error opening file");
return 1;
}
// 确定文件大小
fseek(fp, 0, SEEK_END);
long fileSize = ftell(fp);
fseek(fp, 0, SEEK_SET);
// 分配内存保存文件内容到数组
char *fileContentArray = (char *)malloc(fileSize + 1);
if (fileContentArray == NULL) {
perror("Memory allocation error");
fclose(fp);
return 1;
}
// 读取文件内容到数组
fread(fileContentArray, 1, fileSize, fp);
fileContentArray[fileSize] = '\0';
fclose(fp);
// 现在可以从数组中读取内容
printf("File content from array:\n");
for (int i = 0; i < fileSize; i++) {
putchar(fileContentArray[i]);
}
// 释放内存
free(fileContentArray);
return 0;
}