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