c++ - 将字符数组附加到字符串 C++

标签 c++ string

我有一个包含 256 个字符的字符数组,或者 char myArray[256] 实际上只有第一对字符包含任何信息

myArray[0] = 'H';
myArray[1] = 'E';
myArray[2] = 'L';
myArray[3] = 'L';
myArray[4] = 'O';
myArray[5] = NULL;
myArray[6] = NULL;
// etc...

我不一定知道数组中到底有什么,但我想复制那里的内容,减去空字符,到我的缓冲区字符串 string buffer

我认为执行此操作的适当方法是执行以下操作:

buffer.append(myArray);

一旦遇到 nul 字符,程序就会停止读取值,但我没有看到这种行为。我看到它将整个数组、空字符和所有内容复制到我的缓冲区中。执行此操作的正确方法是什么?

编辑:一些工作代码使其更容易

#include <string>
#include <iostream>

using namespace std;

int main()
{
    string buffer;
    char mychararray[256] = {NULL};

    mychararray[0] = 'H';
    mychararray[1] = 'e';
    mychararray[2] = 'l';
    mychararray[3] = 'l';
    mychararray[4] = 'o';

    buffer.append(mychararray);

    cout << buffer << endl;

    return 0;
}

刚刚意识到我没有正确初始化 null 并且我原来的方法有效。抱歉浪费大家的时间。

最佳答案

尝试

buffer += myArray;

应该这样做。如果您以 null 终止数组,append 也应该有效。

关于c++ - 将字符数组附加到字符串 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13558472/

相关文章:

c++ - STL 的高性能替代品?

c++ - 如何获取仅包含另一个 vector 的最后 n 个元素的 vector ?

c++ - 如何使用 std::string 以正确的方式存储字节(无符号字符)?

php - 检查字符串是否包含 float

python - 将带有反斜杠后跟数字的字符串转换为路径

android - 如何在 Eclipse 中添加字符串资源?

PHP 函数和变量以字符串形式存储在数据库中

c++ - 复制构造函数还是赋值运算符?我错过了什么?

c++ - 兰德生成相同的数字

两个 URL 编码字符串之间的 Java 区别