本文汇总 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