zoukankan      html  css  js  c++  java
  • C关于字符串赋值的一些方法比较






    1. #include<stdio.h>
    2. #include <string.h>
    3. int main()
    4. {
    5. char fmt[16];
    6. strncpy(fmt, "aaaabbbbccccddddeeee", sizeof(fmt));
    7. printf("strncpy: %s ",fmt);
    8. strcpy(fmt, "aaaabbbbccccddddeeee");
    9. printf("strcpy: %s ",fmt);
    10. sprintf(fmt, "%s", "aaaabbbbccccddddeeee");
    11. printf("sprintf: %s ",fmt);
    12. snprintf(fmt, sizeof(fmt), "%s", "aaaabbbbccccddddeeee");
    13. printf("snprintf:%s ",fmt);
    14. sscanf("aaaabbbbccccddddeeee", "%s", &fmt);
    15. printf("sscanf: %s ",fmt);
    16. return 0;
    17. }



    可以看出对于字符串赋值将
    strcpy   strncpy   snprintf  sscanf sprintf
    等几个函数的执行结果进行了比较分析。
    执行结果如下:


    可以看到,对于指定长度的字符串赋值来说,snprintf方法可以自动拼接一个''
    而strncpy虽然是带了长度参数的,但是不会自动拼接''
    strcpy    sprintf    sscanf功能函数并不会将其截断,当超出了容器范围的时候会向后覆盖写数据。

  • 相关阅读:
    安装 oracle
    svn 编辑
    软件构架
    liunx操作
    css的样式分类
    简单自己做了一个个人简历
    网页制作之表格,列表
    MYSQL表创建
    linux操作指令 第二部分
    linux操作指令 第一部分
  • 原文地址:https://www.cnblogs.com/cfzhang/p/8587733948e652b5db8162ddcea6eb7e.html
Copyright © 2011-2022 走看看