我有一个程序可以从文件或标准输入中获取数据。 我编写了使用sscanf扫描文件的代码。 我想知道我是否可以重用该代码,但使用stdin而不是使用scanf?
例如:
我如何修改它以使其适用于标准输入?
while(fgets(buffer, MAX_LEN, input) != NULL) {
if (sscanf(buffer, "%s %s %s", one, two, three) == 3) { }
}
答案 0 :(得分:3)
您无需更改sscanf()
来电 - 这是从输入文件中读取的fgets()
来电。
您可以通过stdin
调用中input
替换stdin
来更改您的代码段以使用fgets()
stdin
是全局{FILE *
1}}在stdio.h
中声明引用标准输入。)
答案 1 :(得分:0)
fgets(buffer,MAX_LEN,input)
中的第三个参数,即input
是输入的来源。在您的情况下,它应该替换为stdin
,以便从标准输入控制台而不是文件。
答案 2 :(得分:-1)