从txt中读入数据到数组中可以使用fscanf函数实现。fscanf函数的原型为:
int fscanf(FILE *stream, const char *format, ...);
其中第一个参数为文件流指针,第二个参数为格式字符串。后面的省略号表示待读取的参数,可以是多个。
在读取数据时,需要先打开文件,并保证文件存在,对于未找到文件的情况,需要给予提示。
示例代码1:读取整型数据
#include <stdio.h>
#define MAX_COUNT 100 // 数组的最大大小
int main() {
FILE* fp;
int arr[MAX_COUNT];
int count = 0;
int num;
fp = fopen("data.txt", "r");
if(fp == NULL) {
printf("文件打开失败!\n");
return -1;
}
while(fscanf(fp, "%d", &num) != EOF) {
arr[count++] = num;
if(count == MAX_COUNT) {
break;
}
}
fclose(fp);
// 打印读取到的数组
for(int i = 0; i < count; i++) {
printf("%d ", arr[i]);
}
return 0;
}
说明:以上代码中定义了一个数组,最多容纳MAX_COUNT个整型数据。打开data.txt文件,并在读取数据时限制数据总数不超过MAX_COUNT个。读取完毕后,关闭文件,并将数组中的数据打印出来。
示例代码2:读取浮点型数据
#include <stdio.h>
#define MAX_COUNT 100 // 数组的最大大小
int main() {
FILE* fp;
float arr[MAX_COUNT];
int count = 0;
float num;
fp = fopen("data.txt", "r");
if(fp == NULL) {
printf("文件打开失败!\n");
return -1;
}
while(fscanf(fp, "%f", &num) != EOF) {
arr[count++] = num;
if(count == MAX_COUNT) {
break;
}
}
fclose(fp);
// 打印读取到的数组
for(int i = 0; i < count; i++) {
printf("%.2f ", arr[i]);
}
return 0;
}
说明:以上代码中定义了一个数组,最多容纳MAX_COUNT个浮点型数据。打开data.txt文件,并在读取数据时限制数据总数不超过MAX_COUNT个。读取完毕后,关闭文件,并将数组中的数据打印出来,每个数保留小数点后两位。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从txt中读入数据到数组中(fscanf)的实现代码 - Python技术站