[Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'char*' for argument '1' to 'char* strcpy(char*, const char*)'
时间: 2023-10-15 20:08:24 浏览: 101
string、cstring 、char* 转化问题
这个错误是因为在使用 `strcpy` 函数时,第一个参数需要传入一个字符数组(即 `char*` 类型),而你传入的是一个 `std::string` 对象,这两种类型是不兼容的。
你可以使用 `std::string` 自带的赋值运算符或者 `std::string` 的 `c_str()` 函数将 `std::string` 对象转换为 `char*` 类型,然后再传入 `strcpy` 函数。
例如:
```cpp
std::string str = "Hello, world!";
char buffer[20];
strcpy(buffer, str.c_str());
```
或者直接使用 `std::strcpy` 函数来避免类型转换问题:
```cpp
#include <cstring>
std::string str = "Hello, world!";
char buffer[20];
std::strcpy(buffer, str.c_str());
```
阅读全文