美文网首页C编程系列
【C编程系列】C语言中snprintf()函数

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

作者: 苹果小王子写字的地方 | 来源:发表于2018-06-08 10:12 被阅读28次
    • 函数原型int snprintf(char* dest_str,size_t size,const char* format,...);
    • 函数功能:先将可变参数 “...” 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。
    • 头文件:#include<stdio.h>
    • 注意事项
      • 如果如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘\0’;
      • 如果格式化后的字符串长度大于或等于size,则将字符串的(size-1)拷贝至dest_str中,然后在字符串结尾处加上'\0'.
      • 函数返回值是 格式化字符串的长度。
    • 使用示例
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    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;
    }
    
    
    • 运行结果
      微信图片_20180608100602.png

    相关文章

      网友评论

        本文标题:【C编程系列】C语言中snprintf()函数

        本文链接:https://www.haomeiwen.com/subject/ryposftx.html