fprintf 和 sprintf 都是 C 语言中用于格式化输出的函数,但它们在用法和目的上有所不同。
1
fprintf:这个函数用于将格式化的输出写入到指定的文件流中。其函数原型如下:
int fprintf(FILE *stream, const char *format, ...);
这里,stream 是一个指向 FILE 对象的指针,表示要写入的文件流;format 是一个格式字符串,用于指定输出的格式;后面的 … 表示可变参数列表,用于提供要输出的实际值。
例如:
FILE *fp = fopen("output.txt", "w");
if (fp != NULL) {
fprintf(fp, "Hello, %s! Today is %s.", "Alice", "Monday");
fclose(fp);
}
上述代码会将 “Hello, Alice! Today is Monday.” 写入到 “output.txt” 文件中。
2.
sprintf:这个函数用于将格式化的输出写入到一个字符串中。其函数原型如下:
int sprintf(char *str, const char *format, ...);
这里,str 是一个字符数组,用于存储输出的结果;format 是一个格式字符串,用于指定输出的格式;后面的 … 表示可变参数列表,用于提供要输出的实际值。
例如:
char buffer[50];
sprintf(buffer, "Hello, %s! Today is %s.", "Alice", "Monday");
printf("%s\n", buffer);
上述代码会将 “Hello, Alice! Today is Monday.” 写入到 buffer 字符串中,并使用 printf 函数将其输出到标准输出。