【发布时间】:2023-03-04 03:02:01
【问题描述】:
我正在尝试按以下顺序读取文件:0 0 4 (100) 12 (67) 2
这对应于:
进程id、到达时间、1st_CPU_burst、(1st_IO_burst)、2nd_CPU_burst、(2nd_IO_burst)
这与操作系统基础有关我正在尝试使用队列执行 fcfs 调度,但在此之前我必须正确阅读。
在我的代码中,我试图只读取带有括号的数字并打印相同的输入,例如 (200),但它不起作用,因为它无法识别括号。这是出于调试目的,但我将遵循上述格式。
代码:
#include <stdio.h>
#include <string.h>
int main(int argc, char** argv)
{
char input;
char b1;
char b2;
FILE *f = fopen("CPULoad.dat", "r");
while(fscanf(f, "%s%s%s", &b1, &input, &b2) == 1)
{
printf("%s%s%s", &b1, &input, &b2);
}
return 0;
}
【问题讨论】:
-
这些输入参数都不适合
%s,无论是来还是去。您需要一种或另一种形式的数组。 -
如果您扫描 3 个项目,
fscanf将返回3,如果它成功读取所有 3 个。
标签: c text-files filestream