C历史问题。为什么c函数putc
需要第二个参数
putc( 'c', stdout ) ;
而放起来就方便多了
puts( "a string" ) ;
msvc中有一个函数++
putchar( 'c' ) ;
它的工作方式可能是
putc
预期的工作方式。我认为putc
的第二个参数是能够将putc
指向一个文件,但是有一个函数可以用于此。 最佳答案
int putc ( int character, FILE * stream );
将字符写入流并推进位置指示器。
所以它是一个比
putchar
其他功能可以基于此,例如
#define putchar(c) putc((c),stdout)
根据kernighan的书,
putc
与fputc
是等价的,但是putc
可以作为一个宏实现,putc可能需要多次评估它的流参数。我已经阅读过,假设两者都存在向后兼容性,但不确定这是否有效。