【问题标题】:char array to String at runtime?在运行时将字符数组转换为字符串?
【发布时间】:2014-10-25 03:21:12
【问题描述】:

我无法将 char 数组复制到 String。以下行工作正常:

String packetBufferString(packetBuffer);

但显然我只能这样做一次,因为packetBufferString 必须是全局的并且不能再次声明。问题是 packetBuffer 在运行时发生变化,但我无法更新 packetBufferString

char数组是用

设置的
char packetBuffer[UDP_TX_PACKET_MAX_SIZE];

lg, couka

【问题讨论】:

  • 这段代码看起来像是 Java 和 C++ 的混合体。你的意思是std :: string吗?也不清楚被问到什么/问题是什么。
  • @MichaelAaronSafyan 他们的意思是arduino String
  • 在 arduino 上尽量避免使用字符串。
  • 我不能,因为我必须解析传入的 UDP 数据包。

标签: c++ c arrays string arduino


【解决方案1】:

如果Stringstd::string 那么你可以写

std::string packetBufferString(packetBuffer);

//

packetBufferString.assign(packetBuffer);

std::string packetBufferString(packetBuffer);

//

packetBufferString  = packetBuffer;

前提是packetBuffer 是零终止的。否则,您可以执行相同的操作(即分配),但使用 packetBuffer 的初始和结束迭代器

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 2011-06-18
    • 2017-11-27
    • 2011-02-15
    • 1970-01-01
    相关资源
    最近更新 更多