【发布时间】:2014-10-22 08:39:34
【问题描述】:
在我的项目中有一个方法只返回一个const char*,而我需要一个char* 字符串,因为API 不接受const char*。
知道如何在const char* 和char* 之间进行转换吗?
【问题讨论】:
-
请注意,API 的设计方式可能是出于充分考虑。
-
@alk 我在下面说过这就是这种情况: const char* 由objective-C 字符串方法返回[更具体地说是NSString)。这是保存的文件的路径。现在有另一个 C 库的 api 将解析这个文件,它只接受 char* 字符串作为参数。即使我传递了 const char* 字符串,解析也会发生,但我会收到一个我不想看到的警告。
-
正如其他人指出的那样:正如您永远不知道解析器做了什么(想想
strtok()做了什么)复制返回的数据并传递副本。strdup()和free()是你的朋友。 -
你能告诉我们它们是哪些函数并链接到它们的文档吗?
-
而在 C++ 中有
const_cast<>()
标签: c pointers const-char