C++用fopen,fread读取一维数组的txt文件生成一维数组
时间: 2024-03-10 20:43:59 浏览: 91
C++从txt文件中读取二维的数组方法
可以使用C语言中的标准库函数`fopen()`和`fread()`来读取txt文件中的数据,并将其存储到一维数组中。以下是一个简单的示例代码:
```c++
#include <stdio.h>
#include <stdlib.h>
int main() {
// 打开txt文件
FILE *fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("文件打开失败!\n");
return 0;
}
// 获取文件大小
fseek(fp, 0, SEEK_END);
int size = ftell(fp);
fseek(fp, 0, SEEK_SET);
// 读取txt文件中的数据到数组中
int arr[100];
int n = fread(arr, sizeof(int), size / sizeof(int), fp);
// 输出数组中的数据
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 关闭文件
fclose(fp);
return 0;
}
```
在上述代码中,我们首先使用`fopen()`函数打开了名为“data.txt”的txt文件,然后使用`fseek()`函数获取了文件大小,并使用`fread()`函数逐个读取文件中的数据,并将其存储到数组中。最后,我们输出了数组中的数据,并关闭了文件。
需要注意的是,`fread()`函数返回的是成功读取的数据元素个数,而不是字节数。因此,在计算读取到的数据个数时,需要将`size`(即文件大小)除以`sizeof(int)`(即每个整数占用的字节数)来得到元素个数。
阅读全文