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;