snprintf函数

  原型为:snprintf(char *str, size_t size, const char *format, ...)

  将可变个参数(...)按照format格式化成字符串,然后将其复制到str中

  

(2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符(‘\0‘),返回值为欲写入的字符串长度


1

2

3

4

5

6

7

8

9

10

11

12

13

14

#include <stdio.h>

int main () {

  char a[16];

  size_t i;

  i = snprintf(a, 13, "%012d", 12345);  // 第 1 种情况

  printf("i = %lu, a = %s\n", i, a);    // 输出:i = 12, a = 000000012345

  i = snprintf(a, 9, "%012d", 12345);   // 第 2 种情况

  printf("i = %lu, a = %s\n", i, a);    // 输出:i = 12, a = 00000001

  return 0;

}

时间: 2024-10-12 02:33:51

snprintf函数的相关文章

【C语言天天练(十三)】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传送格式化输

sprintf和snprintf函数

printf()/sprintf()/snprintf()区别  先贴上其函数原型 printf( const char *format, ...)    格式化输出字符串,默认输出到终端-----stdout sprintf(char *dest, const char *format,...)     格式化输出字符串到指定的缓冲区 snprintf(char *dest, size_t size,const char *format,...)     按指定的SIZE格式化输出字符串到指定

转载--snprintf函数用法

作者:crfoxzl 链接:http://blog.csdn.net/crfoxzl/article/details/2062139 int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...); 函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0.所以如果目标串的大小为n 的话,将不会溢出. 函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值. Result1(推荐的用

snprintf函数的用法

int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...); 函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0.所以如果目标串的大小为n 的话,将不会溢出. 函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值. Result1(推荐的用法) #include <stdio.h>#include <stdlib.h> int main(){     cha

【转】snprintf()函数使用方法

众所周知,sprintf不能检查目标字符串的长度,可能造成众多安全问题,所以都会推荐使用snprintf. 注:sprintf()函数:int sprintf( char *buffer, const char *format, [ argument] … );返回的是实际写入buffer的长度 自从snprintf代替了sprintf,相信大家对snprintf的使用不会少,函数定义如下: int snprintf(char* dest_str,size_t size,const char*

snprintf函数用法

函数原型 int snprintf(char *str, size_t size, const char *format, ...) 功能 将可变个参数(...)按照format格式化成字符串,然后将其复制到str中 (1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符('\0'): (2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符('\0'),返回值为欲写入

snprintf函数使用

int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...); 函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0. 函数返回值:若成功则返回写入的字符串长度,若出错则返回负值,注意,只有当这个返回值是非负的,并且小于n,才表明该字符串已被完全写入. #include <stdio.h> #include <stdlib.h> int main() { char st

c语言snprintf函数简介

函数原型:int snprintf(char* dest_str,size_t size,const char* format,...); 所需头文件:#include<stdio.h> 函数功能:先将可变参数 "-" 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中. 注意事项:如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上'\0': 如果格式化后的字符串长度大于或等于size,则将字符串的(si

snprintf()函数使用方法

众所周知,sprintf不能检查目标字符串的长度,可能造成众多安全问题,所以都会推荐使用snprintf. 自从snprintf代替了sprintf,相信大家对snprintf的使用都不会少,函数定义如下: int snprintf(char*str, size_t size,constchar*format, ...); 函数说明: 最多从源串中拷贝size-1个字符到目标串中,然后再在后面加一个0.所以如果目标串的大小为size的话,将不会溢出. 函数返回值: 若成功则返回欲写入的字符串长度