snprintf()以及%.*s

转载 2015年11月19日 09:33:56

snprintf()

  int snprintf(char *str, size_t size, const char *format, ...);
  将可变个参数(...)按照format格式化成字符串,然后将其复制到str中
  (1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符('\0');
  (2) 如果格式化后的字符串长度 => size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符('\0')
  函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。
  --------------------------------------------
  #include //snprintf()
  #include //strlen()
  int main()
  {
  char array[30];
  char *name = "yangtaiping";
  printf("strlen(array) = %d\n", strlen(array));
  snprintf(array, strlen(array), "姓名:%s", name);
  printf("array = %s\n", array);
  printf("strlen(array) = %d\n", strlen(array));
  }
  strcpy() sprintf() strcat() 存在安全隐患, 其对应的安全版为:
  strncpy() snprintf() strncat()
  snprintf(s, 100, "%.*S", 3, "abcd");
  s的值为abc
  %.*s 表示有两项, 第一项指定了长度,第二项则是%s的内容,所以取前三位

sprintf,snprintf的用法(可以作为linux中itoa函数的补充)

函数功能:把格式化的数据写入某个字符串 头文件:stdio.h  函数原型:int sprintf( char *buffer, const char *format [, argumen...
  • educast
  • educast
  • 2014年05月05日 17:41
  • 5730

关于sprintf和snprintf的比较

#include #include typedef unsigned char uchar; #define BUF_SIZE 10 // 缓冲区大小 #define CLEAR_S...
  • JoeBlackzqq
  • JoeBlackzqq
  • 2013年06月06日 20:08
  • 4404

为什么snprintf比sprintf更安全?(另外,请注意, Windows和Linux中的snprintf函数有区别)

在前面的博文中,我们深入分析了strcpy和s
  • stpeace
  • stpeace
  • 2014年04月12日 23:44
  • 7882

安全函数strcpy_s、strncpy_s、snprintf_s、memcpy_s

  • 2017年11月01日 00:14
  • 220KB
  • 下载

sprintf_s与_snprintf与_snprintf_s

int snprintf(char *str, size_t size, const char *format, ...);   将可变个参数(...)按照format格式化成字符串,然后...
  • skiing_886
  • skiing_886
  • 2012年08月31日 10:34
  • 1518

sprintf,sprintf_s,_snprintf和_snprintf_s之间的区别

sprintf与sprintf_s区别 函数原型: int sprintf(char *buffer,const char *format [,argument] ...); int sprin...
  • cz168love
  • cz168love
  • 2014年06月27日 19:14
  • 908

snprintf 的实现

  • 2013年12月19日 17:02
  • 121KB
  • 下载

C中的 snprintf()函数

函数原型:int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...);
  • u013763860
  • u013763860
  • 2014年11月06日 11:07
  • 3833

stringstream与snprintf性能对比测试

最近发现服务中存在大量stringstream对象的创建,导致性能低下,于是对stringstream心生敬畏了,特地做了一下他和snprintf的性能比较测试实验,分别考察了下面四种选择在多线程环境...
  • wjj547670933
  • wjj547670933
  • 2015年03月13日 14:49
  • 886

利用snprintf和assert向字符串流输出信息

man snprintf 将可变个参数(...)按照format格式化成字符串,然后将其复制到str中 (1) 如果格式化后的字符串长度 (2) 如果格式化后的字符串长度 >= siz...
  • qq_34369618
  • qq_34369618
  • 2016年10月13日 20:51
  • 473
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:snprintf()以及%.*s
举报原因:
原因补充:

(最多只允许输入30个字)