c++ - C++ 中 strcpy() 中的字符串类型

标签 c++ string char strcpy

#include <iostream>
#include <string>

using namespace std;

int main() {
    char a[10];
    string b = "Hello"; 
    char c[] = "Hello";
    char *d = "Hello";

    strcpy(a, b); // compiler complains.
    strcpy(a, c);
    strcpy(a, d);
}

我知道 strcpy 定义为

char * strcpy ( char * destination, const char * source );

但是如果string类型变量与char*char[]相同,为什么string的内容> 类型无法复制到char[]

最佳答案

std::string 与字符数组不同。它是一个 C++ 对象。如果您想以 C 字符串的形式访问它,请调用它的 c_str()方法:

strcpy(a, b.c_str());

关于c++ - C++ 中 strcpy() 中的字符串类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19441311/

相关文章:

.NET 应用程序设置 -> 设置空字符串

c++ - 需要帮助将两个 STL 映射合并为一个(map<char,string> 和 map<string,int> 到 map<char,map<string,int>>)

java - 作为 Java 常量的特殊字符

c++ - 做 while(false) 模式

c++ - 虚函数重载

c++ - 如何摆脱 temp 并使用一种转换来完成工作?

python - 用python读取xxx,yyy,zzz形式的整型字符串

C 删除char数组中的重复字符

java - 检查一个字符串是否只包含一组字母

c++ - 如何在 C++ 中使用自定义比较函数对字符串进行排序?