设文件中有n个整数数据,将所有数据读出放入数组中,写出语句片段
时间: 2024-12-22 17:33:57 浏览: 12
在C语言中,如果你有一个文本文件,其中包含多个整数,可以使用`fscanf`函数逐行读取并将数字存储到数组中。这里是一个基本的语句片段:
```c
#include <stdio.h>
#define MAX_NUMS 100 // 根据实际需要调整数组大小
int nums[MAX_NUMS];
int n = 0;
int main() {
FILE *file = fopen("filename.txt", "r"); // 打开文件,假设文件名为"filename.txt"
if (file == NULL) {
perror("Failed to open file");
return 1;
}
while (!feof(file)) { // 使用循环直到文件结束
char input[100]; // 每次读取的数据不超过100位
if (fgets(input, sizeof(input), file) != NULL) { // 读一行
int num;
if (sscanf(input, "%d", &num) == 1) { // 尝试解析为整数
nums[n++] = num; // 存储到数组中
} else {
printf("Invalid integer found, skipping.\n");
}
} else {
break; // 文件结束
}
}
fclose(file); // 关闭文件
// 数组现在包含了文件中的所有有效整数
// 可以在这里对nums进行进一步处理
...
return 0;
}
```
这段代码首先打开文件,然后在一个无限循环中(直到文件结束标志`feof(file)`)读取每一行。如果能成功解析为整数,则将其添加到数组`nums`中。如果有无效的输入,比如非数字字符,会忽略并打印一条消息。
请注意,你需要替换`"filename.txt"`为实际的文件路径。
阅读全文