zoukankan      html  css  js  c++  java
  • string赋值问题

    +=、append和assign之间对字符串操作需要注意的问题,先看如下代码:

    char* ch_str = "abcd";
    
    std::string str1;
    str1 += ch_str;
    
    std::string str2;
    str2.assign(ch_str);
    
    std::string str3;
    str3.append(ch_str);
    
    std::cout << str1.length() << endl;
    std::cout << str2.length() << endl;
    std::cout << str3.length() << endl;

    以上代码执行结果为:

    在通过字符数组对字符串进行赋值的时候,如果没有指定字符串长度,系统自动截取第一个’’字符作为字符串的值,此时字符容器string对字符值不透明,关心字符数据。

    以下代码:

    char* ch_str = "abcd";
    
    std::string str1;
    str1 += ch_str;
    
    std::string str2;
    str2.assign(ch_str, 5);
    
    std::string str3;
    str3.append(ch_str, 5);
    
    std::cout << str1.length() << endl;
    std::cout << str2.length() << endl;
    std::cout << str3.length() << endl;

    以上函数执行结果为:

     以上为个人愚见,欢迎指正。

  • 相关阅读:
    A+B Problem
    迭代平方根
    猴子报数
    分数求和
    猴子吃桃
    钻石
    杨辉三角形
    MYSQL 5.7 修改密码、登录问题
    SQL 语句 explain 分析
    重构CMDB,避免运维之耻
  • 原文地址:https://www.cnblogs.com/TinyGreen/p/8349580.html
Copyright © 2011-2022 走看看