(C语言) print输出函数系列介绍
文章目录
前言
起因是因为这么一段祝福语:
Linux 和 libc 给您
拜 年 啦
在这辞旧迎新的美好时刻:
🧨 printf 携手 fprintf, dprintf, sprintf, snprintf, vprintf, vfprintf, vdprintf, vsprintf, vsnprintf, fputc, fputs, putc, putchar, puts 祝您新的一年能大展宏图
🧨 scanf 携 sscanf, vsscanf, fscanf, vscanf, vfscanf, fgetc, fgets, getc, getchar 祝您财源广进,金银满仓,钱途无量
🧨 exit, _exit, _Exit, atexit, on_exit, quick_exit, at_quick_exit 希望您在这一年终末,能够善始善终,圆满收官
🧨 execl, execlp, execle, execv, execvp, execvpe 愿您新的一年开启新篇章,事业生活蒸蒸日上
🧨 fork, vfork, clone, __clone2, clone3 祝您家庭美满,阖家欢乐
🧨 wait, waitpid, waitid, wait3, wait4 希望各位都能遇得良机和贵人,新的一年一帆风顺
🧨 signal, sigaction, sigvec, sigblock, sigsetmask, siggetmask, sigmask, setjmp, sigsetjmp, longjmp, siglongjmp 愿您新的一年能逢凶化吉,巧解难题
最后,alarm, sleep, usleep, nanosleep, clock_nanosleep, pause 愿您新的一年能安枕无忧,好睡眠,身体康健祝大家新年快乐,万事如意!
输出系列函数
🖨️printf
// (C99 前)
int printf( const char *format, ... );
// (C99 起)
int printf( const char *restrict format, ... );
从给定位置加载数据,转换为字符串等价物,并写结果到各种池。
写结果到 stdout 。
#include <stdio.h>
int main() {
int ret = printf("Hello World\n");
printf("ret = %d\n", ret);
}
Hello World
ret = 12
🖨️sprintf & snprintf
✍️sprintf
// (C99 前)
int sprintf( char *buffer, const char *format, ... );
// (C99 起)
int sprintf( char *restrict buffer, const char *restrict format, ... );
从给定位置加载数据,转换为字符串等价物,并写结果到各种池。
写结果到字符串 buffer
。
将字符输出到第一个
char*
的参数中。结尾会补
\0
。
#include <stdio.h>
int main() {
char str[1024] = "0123456789";
// 尾部会补'\0'
int ret = sprintf(str, "Hello World");
printf("%s\n", str);
return 0;
}
Hello World
snprintf
// (C99 起)
int snprintf