首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"const char *“类型的参数与"char *”类型的参数不兼容

"const char *“类型的参数与"char *”类型的参数不兼容
EN

Stack Overflow用户
提问于 2019-08-08 21:15:40
回答 1查看 2.7K关注 0票数 2

我尝试加入"ip-api.com/json/“并声明字符为"ip_address”,但"ip-api.com/json/“带有红色下划线,并表示:

代码语言:javascript
复制
argument of type "const char *" is incompatible with parameter of type "char *"

怎么做呢?

代码语言:javascript
复制
TCHAR path[_MAX_PATH];
        _tcscpy(path, ip_address);
        _tcscat("ip-api.com/json/", ip_address);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 21:19:23

在此呼叫中

代码语言:javascript
复制
_tcscat("ip-api.com/json/", ip_address);

您正在尝试修改字符串文字。

C++中的字符串文字具有常量字符数组类型。所以转换成指针后,它们的类型是const char *

您不能更改字符串文字。任何更改字符串文字的尝试都会导致未定义的行为。

此外,您必须保留足够大的内存,以便将ip_address指向的字符串附加到字符数组中的另一个字符串。

例如

代码语言:javascript
复制
char address[_MAX_PATH] = "ip-api.com/json/";
_tcscat( address, ip_address);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57413540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档