strcpy()C中的字符串类型

时间:2013-10-18 03:56:12

标签: 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);
    return 0;
}

我知道strcpy被定义为

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

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

请赐教。

1 个答案:

答案 0 :(得分:2)

std::string 与字符数组相同。它是一个C ++对象。如果要将其作为C字符串访问,请调用其c_str()方法:

strcpy(a, b.c_str());