Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 运行时将字符数组转换为字符串?_C++_C_Arrays_String_Arduino - Fatal编程技术网

C++ 运行时将字符数组转换为字符串?

C++ 运行时将字符数组转换为字符串?,c++,c,arrays,string,arduino,C++,C,Arrays,String,Arduino,我无法将字符数组复制到字符串中。下面这行很好: String packetBufferString(packetBuffer); 但显然我只能这样做一次,因为packetBufferString必须是全局的,不能再次声明。问题是packetBuffer在运行时会发生更改,但我无法更新packetBufferString 字符数组是用 char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; 如果String是std::String,那么您可以编写 std::str

我无法将字符数组复制到
字符串中。下面这行很好:

String packetBufferString(packetBuffer);
但显然我只能这样做一次,因为
packetBufferString
必须是全局的,不能再次声明。问题是
packetBuffer
在运行时会发生更改,但我无法更新
packetBufferString

字符数组是用

char packetBuffer[UDP_TX_PACKET_MAX_SIZE];

如果
String
std::String
,那么您可以编写

std::string packetBufferString(packetBuffer);

//

packetBufferString.assign(packetBuffer);


前提是
packetBuffer
以零结尾。否则,您可以执行相同的操作(即赋值),但对
packetBuffer

使用初始迭代器和结束迭代器。这段代码看起来像是Java和C++的混合体。你是说std::string吗?还不清楚询问的是什么/问题出在哪里。@MichaelAaronSafyan他们的意思是。如果可以,请避免在arduino上使用字符串。我不能,因为我必须解析传入的UDP数据包。
std::string packetBufferString(packetBuffer);

//

packetBufferString  = packetBuffer;