我有一个包含 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/