printf()、scanf()中‘f’与seekg()中‘g’的含义及函数全称咨询
嘿,我来帮你理清这些C/C++标准库函数的命名由来和实际含义,这些命名其实都遵循了早期编程界的缩写惯例,非常有历史感:
printf()
它的全称是print formatted(格式化打印),是早期C语言为了简洁,把formatted缩写成f而来的。这个函数的核心就是按照你指定的格式输出内容,所以format(格式化)是命名的核心——你猜测的print format其实已经很接近了,本质上就是指向“格式化输出”这个核心功能。
scanf()
和printf完全对称,它的全称是scan formatted(格式化扫描)。scan在这里指的是“扫描/读取输入”,f同样是formatted的缩写。它的作用是按照指定格式从输入流读取数据,所以你猜测的scan format方向是对的,准确来说是“格式化扫描输入”的缩写。
seekg()
这个是C标准库中istream类的成员函数,全称其实非常简洁:seek get。这里的g代表get,对应输入流(和输出流的put相对)。它的功能是移动输入流的读写指针到指定位置,所以seek是“定位”的意思,g用来区分这是针对输入流(get stream)的定位操作——你之前猜的长名字确实太复杂了,早期C库命名都追求简洁,和它对应的输出流定位函数是seekp()(p代表put)。
内容的提问来源于stack exchange,提问作者Semalion K
相关产品推荐
相关产品推荐

