有一个包含着由空格分隔的0~255范围整数的TXT文件,用fread将整数读出依次存放到char数组中
时间: 2024-05-13 15:20:33 浏览: 64
利用数组写入、读取txt文件
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp = fopen("input.txt", "r"); // 打开文件
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
// 获取文件大小
fseek(fp, 0, SEEK_END);
int size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *buf = (char*)malloc(size); // 分配缓冲区
fread(buf, 1, size, fp); // 从文件读取数据
fclose(fp); // 关闭文件
// 将读取的整数输出
int n = 0;
for (int i = 0; i < size; i++) {
if (buf[i] == ' ') { // 遇到空格,输出一个整数
printf("%d ", n);
n = 0;
} else { // 否则累加数字
n = n * 10 + (buf[i] - '0');
}
}
printf("%d\n", n); // 输出最后一个整数
free(buf); // 释放缓冲区
return 0;
}
```
假设input.txt文件内容为"1 2 3 4 5",运行上述代码将输出"1 2 3 4 5"。
阅读全文