【C编程系列】C语言中snprintf()函数

  • 函数原型int snprintf(char* dest_str,size_t size,const char* format,...);
  • 函数功能:先将可变参数 “...” 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。
  • 头文件:#include
  • 注意事项
    • 如果如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘\0’;
    • 如果格式化后的字符串长度大于或等于size,则将字符串的(size-1)拷贝至dest_str中,然后在字符串结尾处加上'\0'.
    • 函数返回值是 格式化字符串的长度。
  • 使用示例
#include 
#include 
#include 

int main(int argc, char  *argv[]) {

  char test_str[4096];
  memset(test_str, 0, sizeof(test_str));

  char *str_1 = "复旦大学";
  int size = strlen(str_1);
  char *name = "Bob Huang";
  int year = 2018;
  int month = 6;
  int day = 8;

  snprintf(test_str, sizeof(test_str), "学校:%s\n名字:%s\nToday:%d年%d月%d日\n", str_1, name, year, month, day);

  printf("%s\n", test_str);

  return 0;
}

  • 运行结果
    【C编程系列】C语言中snprintf()函数_第1张图片
    微信图片_20180608100602.png

你可能感兴趣的