什么是;f";代表C标准库函数名?
在C标准库函数的名称中,什么是;f";代表C标准库函数名?,c,naming,libc,C,Naming,Libc,在C标准库函数的名称中,f代表什么?我注意到很多函数的名称中都有一个f,这对我来说没有什么意义 例如:fgets,fopen,printf,scanf,sqrtf等等。前导的f代表文件,尾随的代表格式化的; 例如,sscanf用于扫描s字符串,查找由格式指定的模式中的值,而fprintf将格式化文本打印到文件中 编辑:哦,还有来自math.h的数学函数,它将具有类型后缀,如atanf,用于计算浮点值的arcustangens。我的印象是,对于fgets和fopen而言,f代表文件 对于print
f
代表什么?我注意到很多函数的名称中都有一个f
,这对我来说没有什么意义
例如:
fgets
,fopen
,printf
,scanf
,sqrtf
等等。前导的f
代表文件
,尾随的代表格式化的;
例如,sscanf
用于扫描s
字符串,查找由格式指定的模式中的值,而fprintf
将格式化文本打印到文件中
编辑:哦,还有来自math.h
的数学函数,它将具有类型后缀,如atanf
,用于计算浮点值的arcustangens。我的印象是,对于fgets
和fopen
而言,f
代表文件
对于printf
和scanf
我认为f
代表格式化。这至少部分得到了支持。前导f指的是函数操作的类型:
fgets
:在文件*
句柄上使用get
,而不仅仅是stdin
fopen
:打开一个文件,并将其作为文件*
返回(而不是原始打开时所使用的文件描述符)
尾随的f表示它使用格式字符串:
printf
:根据格式说明符打印
scanf
:根据格式读入
结合起来,你会得到如下结果:
fprintf
:根据格式说明符打印到特定的文件*
当您考虑诸如<代码>数学> h >代码>函数时,尾随f指定特定函数操作在类型<代码>浮点< /代码>的操作数上,如:
powf
:取float
s的指数
powl
:取长双精度的指数
你的问题一般来说太笼统了,但我可以解释几个例子
- ,,,,-“f”代表“文件”。这些函数接受或返回一个
文件*
指针,而不是POSIX函数那样的文件号
- ,…-“f”代表“格式化”。这些函数接受格式化字符串
- ,-这是上述两者的组合
- ,…-“f”代表
浮点
(区别于双精度
备选方案)。请注意,这与在1.5f
中用f
作为浮点文本的后缀非常吻合
- 最后,作为重复数据消除程序,有一些名称,例如,或(“设置缓冲区”),其中“f”仅显示为自然语言字符
< C++ > C++中的重载是编译器在编译器中自动将这些后缀添加到生成的符号中的函数。来自
stdio
库的离子,在fread
、fprintf
、fwrite
等函数中前面的f
代表“文件”。在printf
和scanf
等函数末尾的f
代表“格式”。因此printf是格式化打印,这意味着您可以使用里面有%d
和%s
在数学函数中,f
的后缀通常意味着float前导的f
和尾随的f
都有一个含义,但都是不相关的。前两个:“文件”。后两个:“格式”或“格式化”。fscanf()
和fprintf()
:两者都有。如果它是前缀,那么它通常是“文件”例如,(f)ile(open)
。如果f是后缀,那么它通常是“格式”。(print)(f)ormat
(f)ile(print)(f)ormat
,的另一个用法是用于float
,如ceilf()
,round()
,…在math.h
函数中,也有表示返回类型的后缀。像这样的缩写,以及类似的s
在sprintf
,sscanf
,和str
前缀比全名更受欢迎,因为最初。不要忘了math
函数eh:-),有时它是只是一个前导的f,如free
,或者是一个尾随的f,如sizeof
。我认为@Deduplicator的评论应该是answer@Deduplicator我认为在free
和sizeof
的情况下,f只是一个单词的一部分:)那么fabsf呢?其中有两个f,文件没有意义。