本文主要是介绍printf、fprintf、sprintf和snprintf函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
include <stdio.h>
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
printf是标准的输出函数。
fprintf传送格式化输出到一个文件中。根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件,fprintf只能和printf一样工作。若成功则返回值是输出的字符数,发生错误时返回一个负值。第一个参数是文件指针stream,后面的参数就是printf中的参数,其功能就是把这些输出送到文件指针指定的文件中,如果想要像printf一样将输出送到标准输出,只需要将文件指针FILE指定为stdout即可。
示例程序如下:
include <stdio.h>
FILE *stream;
int main(void)
{ char s[] = "this is a string.\n"; char c = '\n'; stream = fopen("fprintf.out", "w"); fprintf(stream, "%s", s); fprintf(stdout, "abc\n"); return 0;
}
该程序的运行结果是在fprintf.out文件中存入了this is a string.字符串,在标准输出输出了abc字符串。
- sprintf,字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。第一个参数str是char型指针,指向将要写入的字符串的缓冲区。后面第二个参数是格式化字符串。
示例程序:
#include <stdio.h>
int main(void)
{ char s[100]; sprintf(s, "%%sfjdksfj" ); printf("%s\n", s); return 0;
}
执行后输出结果是: %sfjdksfj
- snprintf函数与sprintf函数类似。它也是将可变个参数按照format格式化成字符串,然后将其复制到str中。
(1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符(‘\0’);(2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符(‘\0’),返回值为格式化后的字符串的长度。
示例程序:
include <stdio.h>
int main(void)
{ char s[10]; snprintf(s, 4, "%%sfjdksfj" ); printf("%s\n", s); snprintf(s, sizeof(s), "%%sfjdksfj" ); printf("%s\n", s); return 0;
}
这篇关于printf、fprintf、sprintf和snprintf函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!