有一个包含4194304个以空格分隔的0~255范围的整数的TXT文件,其中所有数据都在一行,用C语言将其中的每个整数读存为字符串数组的一个元素
时间: 2024-05-08 17:16:04 浏览: 103
c语言实现把文件中数据读取并存到数组中
5星 · 资源好评率100%
可以使用fscanf函数逐个读取整数,并使用sprintf函数将其转换为字符串存储到字符串数组中。具体代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 4194304
int main(void) {
FILE *fp;
char str[MAX_SIZE][4]; // 每个整数最多占4个字符,包括一个空字符
int i = 0, n;
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(EXIT_FAILURE);
}
while (fscanf(fp, "%d", &n) == 1 && i < MAX_SIZE) {
sprintf(str[i], "%d", n);
i++;
}
fclose(fp);
printf("Read %d integers.\n", i);
return 0;
}
```
需要注意的是,每个整数最多占4个字符,因此字符串数组的第二维长度为4。同时要注意数组越界的问题,因此需要在循环中判断字符串数组的下标是否超过了数组的最大长度。
阅读全文