我有一个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...
我不一定确切地知道数组中的内容,但我想将那里的内容(减去空字符)复制到我的缓冲区字符串字符串缓冲区中
我认为这样做的恰当方法是执行以下操作:
buffer.append(myArray);
一旦遇到一个零字符,程序就会停止读取值,但我没有看到这种行为.我看到它将整个数组复制到我的缓冲区,空字符和所有.这样做的正确方法是什么?
编辑:一些工作代码,使其更容易
#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也应该有效.