本文汇总 C 语言中不同的数据输出(打印)函数,包括 printf(), fprintf(), sprintf(), snprintf()
和 puts(), putchar()
。
printf()输出到终端
1 2 #include <stdio.h> int printf (const char *format, ...) ;
功能 :将格式化的数据 打印到标准输出(终端) 。
用法 :printf
函数使用 格式字符串 format
来指定输出的格式,可以包含占位符 %
来代表不同类型的数据。
示例:
1 2 int age = 18 ;printf ("My age is %d\n" , age);
输出:My age is 18
fprintf()输出到文件
1 2 #include <stdio.h> int fprintf (FILE *stream, const char *format, ...) ;
功能 :将格式化的数据 打印到指定的文件流 。
用法 :fprintf
函数与 printf
函数类似,不同之处在于它需要指定一个文件流作为输出目标。
示例:
1 2 3 4 5 6 7 8 #include <stdio.h> int main () { char *name = "World" ; FILE *file = fopen("output.txt" , "w" ); fprintf (file, "Hello, %s!\n" , name); fclose(file); return 0 ; }
输出:在当前工作目录下创建一个名为 output.txt
的文件,并将字符串 Hello, World!
写入该文件。
sprintf()输出到字符串变量
1 2 #include <stdio.h> int sprintf (char *str, const char *format, ...) ;
功能 :将格式化的数据 打印到字符串 str
中 。
用法 :sprintf
函数与 printf
函数类似,不同之处在于它将格式化的数据写入一个字符串 str
中。
示例:
1 2 3 4 char message[20 ] = {0 };int age = 18 ;sprintf (message, "My age is %d" , age);printf ("%s\n" , message);
输出:My age is 18
snprintf()输出到字符串变量
1 2 #include <stdio.h> int snprintf (char *str, size_t size, const char *format, ...) ;
功能 :将格式化的数据 打印到指定长度 size
的字符串 str
中,防止字符串溢出 。
用法 :snprintf
函数与 sprintf
函数类似,不同之处在于它需要指定字符串的大小,以避免溢出。
示例:
1 2 3 4 5 char message[30 ] = {0 };int age = 18 ;char *name = "Alice" ;snprintf (message, sizeof (message), "My age is %d, my name is %s" , age, name);printf ("%s\n" , message);
输出:My age is 18, my name is Alic
(只打印前 30 个字符,结束符 \0
算一个字符,所以打印内容中没有 e
)
puts()输出字符串到终端
1 2 #include <stdio.h> int puts (const char *str) ;
功能 :puts()
函数用于将字符串输出到标准输出(控制台)。它会自动在输出的字符串末尾添加一个换行符。
用法 :puts()
函数 只能用于打印字符串 ,无法使用占位符打印其它数据类型的变量。
示例:
1 2 char str[] = "Hello, world!" ;puts (str);
输出:Hello, world!
(字符串末尾自动添加了一个换行符)
putchar()输出字符到终端
1 2 #include <stdio.h> int putchar (int c) ;
功能 :putchar()
函数用于将一个字符输出到标准输出(控制台)。
示例:
1 2 char c = 'A' ;putchar (c);
输出:A