繁体   English   中英

如何在 C 中将 char* 转换为 const char*

[英]How to convert a char* into const char* in C

有没有办法在 C 语言中将 char* 转换为 const char* ? 我使用 CodeBlocks 作为 IDE 的 Windows。 我听说在基本的 C 中不可能做到这一点。 真的吗?

在基本 C 中不可能做到这一点

仅根据您的问题,没有任何示例代码,答案是否定的。 您可以将char*分配给const char* 考虑这个例子:

#include <stdio.h>

int main()
{
    char * str;

    str = "abcdefg";

    const char * cstr = str;

    puts(cstr);

    return 0;
}

这是完全合法的。 如果您担心编译器会抱怨,您可以执行以下操作:

const char * cstr = (const char*)str

这会将char*类型显式转换为const char*类型。 如果您想将其传递给 function void f(const char* s)您可以执行以下操作:

f((const char*)str);

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM