fprintf()打印到数据流
printf()
函数可以将数据发送到标准输出,但printf()
其实只是一个函数的特例,而这个函数叫fprintf()
。
fprintf()
函数可以让你决定把文本发送到哪里,你既可以让fprintf()
把文本发送到stdout
(标准输出),也可以发送到stderr
(标准错误)。
这里没有蠢问题
问:既然有
stdout
和stderr
,自然就有stdin
吧?答:有,如你所料,它代表标准输入。
问:我可以打印
stdin
吗?答:不可以。
问:我可以从
stdin
中读取数据吗?答:嗯,你可以用
fscanf()
来读取,它的用法和scanf()
很像,区别是可以指定fscanf()
从哪条数据流中读取数据。问:也就是说
fscanf(stdin,…)
和scanf()
等价?答:没错,它们完全相同。说到底,
scanf()
就是用fscanf(stdin, …)
实现的。问:我可以重定向标准错误吗?
答:可以,你可以用
>
重定向标准输出,2>
重定向标准错误。问:所以我要写
geo2json 2> errors.txt
?答:没错。