用c语言把文件中第一行数据读入到数列a中,第二行数据读入到数列b中
时间: 2024-02-18 20:04:28 浏览: 129
C语言从txt文件中逐行读入数据存到数组中的实现方法
5星 · 资源好评率100%
好的,可以使用C语言中的文件操作函数和字符串处理函数来实现这个功能。具体步骤如下:
1. 打开文件并检查是否打开成功。
2. 定义两个数组a和b,以及一个缓冲区buffer。
3. 使用fgets函数读取文件的第一行数据到缓冲区中。
4. 使用strtok函数将缓冲区中的数据按照空格分隔开来,并将分隔后的字符串转换成数字存入数组a中。
5. 重复步骤3和4,读取文件的第二行数据并存入数组b中。
6. 关闭文件。
下面是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 1024
#define MAX_NUM_LENGTH 32
int main() {
FILE *fp;
char buffer[MAX_LINE_LENGTH];
char *token;
int a[MAX_NUM_LENGTH], b[MAX_NUM_LENGTH];
int i = 0;
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("Failed to open file\n");
exit(1);
}
// Read first line
fgets(buffer, MAX_LINE_LENGTH, fp);
token = strtok(buffer, " ");
while (token != NULL) {
a[i++] = atoi(token);
token = strtok(NULL, " ");
}
// Read second line
i = 0;
fgets(buffer, MAX_LINE_LENGTH, fp);
token = strtok(buffer, " ");
while (token != NULL) {
b[i++] = atoi(token);
token = strtok(NULL, " ");
}
fclose(fp);
// Print arrays for testing
printf("a: ");
for (i = 0; i < MAX_NUM_LENGTH; i++) {
printf("%d ", a[i]);
}
printf("\nb: ");
for (i = 0; i < MAX_NUM_LENGTH; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
注意,上面的代码假设数据文件中每行最多有32个数字,而且数字之间以空格分隔。如果实际情况不是这样,请根据实际情况修改代码。
阅读全文