int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);
函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个'\0'。所以如果目标串的大小为n 的话,将不会溢出。
函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。
-
#include <stdio.h>
-
int main(void)
-
{
-
char s[10] = {0};
-
snprintf(s, sizeof(s), "01234567");
-
printf("s[%s]\n", s);
-
return 0;
-
}
输出结果:s[01234567]
在看一个反面例子:
-
#include <stdio.h>
-
-
int main(void)
-
{
-
char s[10] = {0};
-
snprintf(s, sizeof(s), "0123456701234567");
-
printf("s[%s]\n", s);
-
return 0;
-
}
输出结果:s[012345670]
int fprintf( FILE *stream, const char *format, ... );
fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件.
-
#include <stdio.h>
-
-
int main(void)
-
{
-
char *s="0123456";
-
fprintf(stdout,"s:[%s]\n", s);
-
return 0;
-
}
结果:s:[0123456]
阅读(956) | 评论(0) | 转发(0) |