【发布时间】:2019-12-16 05:17:42
【问题描述】:
我正在尝试加入“ip-api.com/json/”并声明字符“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);正在尝试将ip_address的内容添加到"ip-api.com/json/"。你不能那样做。 -
请记住
strcat函数(以及类似_tcscat函数的亲属)将其目的地作为第一个参数。还要记住,在 C++ 中,所有文字字符串实际上都是 constant 字符数组。如何连接到常量数组? -
是的,ip-api.com/json/ + ip_address。为什么我不能?
-
@prako2 您将如何访问它?
"ip-api.com/json/"是一个字符串文字。你不能“重复使用”它。 -
typedef std::basic_string<TCHAR> TCHARString;。然后,当您使用TCHARString时,您拥有所有可用于字符串类的操作,例如使用operator +、operator +=的连接等,而无需确保有足够的空间、字符串文字问题等。跨度>
标签: c++ char undefined constants string-literals