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功能函数并不会将其截断,当超出了容器范围的时候会向后覆盖写数据。

  • 相关阅读:
    OCS 2007 R2下载资源整理
    Windows Server 2012 R2 WSUS 4.0 加速
    JavaScript入门(三)
    JavaScript入门(一)
    JavaScript入门(二)
    CSS基础
    古董代码
    自我介绍
    Android Activity的加载的模式
    Android 数字签名
  • 原文地址:https://www.cnblogs.com/cfzhang/p/8587733948e652b5db8162ddcea6eb7e.html
Copyright © 2011-2022 走看看