【发布时间】:2012-10-08 03:24:23
【问题描述】:
我有一个程序可以从文件或标准输入中获取数据。 我编写了使用 sscanf 扫描文件的代码。 我想知道是否可以重用该代码,但使用标准输入而不是使用 scanf?
例如:
如何修改它以使其适用于标准输入?
while(fgets(buffer, MAX_LEN, input) != NULL) {
if (sscanf(buffer, "%s %s %s", one, two, three) == 3) { }
}
【问题讨论】:
-
sscanf 从 char* 解析数据。所以根本没有文件。你可能想从标准输入读入缓冲区,而不是从某个文件读入缓冲区。
-
看看可以从标准输入读取的 fscanf
-
可能你需要的是
fscanf,第一个参数会指定数据源。