如何将字符串转换为字节数组? [关闭]
Posted
技术标签:
【中文标题】如何将字符串转换为字节数组? [关闭]【英文标题】:How can I convert a string to a byte array? [closed] 【发布时间】:2016-06-14 15:52:00 【问题描述】:如何在 C++ 中将字符串转换为字节数组?
例如,"Hello"
→ 48 65 6c 6c 6f
。
我正在尝试使用此字节数组对内存进行模式搜索。
【问题讨论】:
不清楚“字节数组”的类型是什么。 你在用哪本书?您无法通过在 Google 上胡乱学习语言! 我只是想知道如何做一件简单的事情,我不想买书 @Spoody 好吧,看起来很简单的事情可能需要一本书或参考资料来解释完整性。此外,太简单的事情都包含在书籍或在线教程中所涵盖的基础知识中。 【参考方案1】:std::string::c_str()
产生底层 c 字符串/字节数组。
另请参阅std::string::c_str()
,了解返回的指针可能无效的情况列表(基本上每次修改字符串时,当然还有 std::string
本身被破坏时)。
如果需要,您可以使用memcpy()
创建它的副本。
【讨论】:
std::string::c_str()
将错过返回 ''\0'' 之后的字节。
@πάνταῥεῖ std::string::c_str() 将正确返回一个字节数组指针。由代码的调用者来考虑任何空字符并使用例如计数来代替。但它实际上会返回一个字节数组。
@Altainia 好吧,我认为std::string::data()
应该更适合这里。
@πάνταῥεῖ data()
自 11 日起与 c_str()
相同以上是关于如何将字符串转换为字节数组? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章