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

Argument of type "const char *" is incompatible with parameter of type "char *"

我正在尝试加入 "ip-api.com/json/" 并声明为 char "ip_address" 但是 "ip-api.com/json/" 带有红色下划线并表示:

argument of type "const char *" is incompatible with parameter of type "char *"

如何做到?

TCHAR path[_MAX_PATH];
        _tcscpy(path, ip_address);
        _tcscat("ip-api.com/json/", ip_address);

在本次通话中

_tcscat("ip-api.com/json/", ip_address);

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

C++ 中的字符串文字具有常量字符数组类型。因此转换为指针后,它们的类型为 const char *.

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

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

例如

char address[_MAX_PATH] = "ip-api.com/json/";
_tcscat( address, ip_address);