我正在尝试加入“ 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);
答案 0 :(得分:3)
在此次通话中
_tcscat("ip-api.com/json/", ip_address);
您正在尝试修改字符串文字。
C ++中的字符串文字具有常量字符数组的类型。因此转换为指针的类型为const char *
。
您不能更改字符串文字。尝试更改字符串文字会导致未定义的行为。
此外,您必须保留足够大的内存,以将ip_address
所指向的字符串附加到字符数组中的另一个字符串上。
例如
char address[_MAX_PATH] = "ip-api.com/json/";
_tcscat( address, ip_address);