我知道字符串的起始地址(例如, char* buf
)和字符串的最大长度 int l;
(即,字符总数小于或等于 l
)。
从指定的内存段获取 string
的值的最简单方法是什么?换句话说,如何实现 string retrieveString(char* buf, int l);
。
编辑:内存保留用于写入和读取可变长度的字符串。换句话说, int l;
表示内存的大小,而不是字符串的长度。
原文由 Terry Li 发布,翻译遵循 CC BY-SA 4.0 许可协议
或者,如果字符串已经存在:
编辑: 我仍然不完全确定我理解这个问题。但是,如果它像 JoshG 所建议的那样,你想要最多
length
字符,或者直到一个空终止符,以先到者为准,那么你可以使用这个: