【发布时间】:2012-01-16 08:15:06
【问题描述】:
我知道字符串的起始地址(例如char* buf)和字符串的最大长度int l;(即总字符数小于或等于l)。
从指定的内存段中获取string 的值的最简单方法是什么?也就是说,如何实现string retrieveString(char* buf, int l);。
EDIT:内存是为写入和读取可变长度字符串而保留的。也就是说int l;表示的是内存的大小,而不是字符串的长度。
【问题讨论】:
-
这真的是基本的 C++。我会推荐a good introductory C++ book。
-
避免混淆:
std::string与 C++ 中的char[]字符串不同。std::string有很多其他的东西。 -
当你说“最大长度”时,你的意思是字符串可能比那个短吗?
-
@MarkRansom 是的。内存用于写入和读取可变长度的字符串
-
现有的两个答案都没有真正解决这种情况。您应该编辑问题以使其更清楚。