cannot convert ‘int*’ to ‘char*’ for argument ‘1’ to ‘int sprintf(char*, const char*, ...)’ sprintf(szRequest, HTTP_GET_PIC_HEADER, szPath, szIp, nPort);
时间: 2024-03-02 10:48:50 浏览: 206
通过string转换比较好些,很多重载函数要么是char * ,要么是String
这个错误是因为你将一个 `int*` 类型的指针传递给了 `sprintf` 函数的第一个参数,而 `sprintf` 函数的第一个参数需要传递一个 `char*` 类型的指针。这样会导致编译器无法正确解析参数类型,从而报错。
要解决这个问题,你需要将第一个参数转换为 `char*` 类型的指针。你可以使用 `reinterpret_cast` 或者 `static_cast` 进行类型转换。例如:
```c++
int n = 123;
char szBuf[16];
sprintf(reinterpret_cast<char*>(szBuf), "%d", n);
```
这样就可以将 `int` 类型的变量 `n` 转换为一个字符串,然后将其存储在 `szBuf` 数组中。
阅读全文