有人可以解释一下如何解释这实际意味着什么吗? http://www.tutorialspoint.com/cprogramming/c_file_io.htm
特别是例如:
int fscanf(FILE *stream, const char *format, ...)
我猜对了,但这是对的吗? fscanf
返回一个整数,表示正确扫描了多少个值?另外,为什么我可以使用fscanf(fp, %d)
等?我怎么知道这是什么语法?我试图理解这个文档,以便我也能理解其他功能文档。很多次我很困惑。有人可以花点时间解释一下吗?例如,如果我做FILE * = fp
,我知道我可以使用fscanf(fp, etc...)
,但我不知道为什么会这样。非常感谢!!!
答案 0 :(得分:1)
您引用的行是C声明 - 它具有与函数调用不同的语法。特别是,每个参数以及函数本身都以一个类型开头。功能"原型"与在实际C程序中使用forward decl的语法相同。
然后,你有varargs的额外复杂性(' ...' bit),这意味着任何类型args的任何数字(零个或多个)都可以在'之后出现。格式'
希望这有帮助!
答案 1 :(得分:0)
如果您看到scanf's declaration int scanf ( const char * format, ... )
,则会发现它与fscanf
类似,只是fscanf
有一个额外的参数FILE *stream
。实际上,您可以将scanf视为特殊fscanf
,其额外参数为stdin
,scanf ( const char * format, ... )
等同于fscanf(stdin, const char * format, ...)
。因此,如何使用scanf
,您可以以同样的方式使用fscanf
。