fprintf()打印到数据流

printf()函数可以将数据发送到标准输出,但printf()其实只是一个函数的特例,而这个函数叫fprintf()

fprintf()打印到数据流 - 图1

fprintf()函数可以让你决定把文本发送到哪里,你既可以让fprintf()把文本发送到stdout(标准输出),也可以发送到stderr(标准错误)。

这里没有蠢问题

问:既然有stdoutstderr,自然就有stdin吧?

:有,如你所料,它代表标准输入。

问:我可以打印stdin吗?

:不可以。

问:我可以从stdin中读取数据吗?

:嗯,你可以用fscanf()来读取,它的用法和scanf()很像,区别是可以指定fscanf()从哪条数据流中读取数据。

问:也就是说fscanf(stdin,…)scanf()等价?

:没错,它们完全相同。说到底,scanf()就是用fscanf(stdin, …)实现的。

问:我可以重定向标准错误吗?

:可以,你可以用>重定向标准输出,2>重定向标准错误。

问:所以我要写geo2json 2> errors.txt?

:没错。