2013-10-18 162 views
2
#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[]

請賜教。

回答

0

A std::string不是與字符數組相同。它是一個C++對象。如果您想以C字符串的形式訪問它,請致電c_str()方法:

strcpy(a, b.c_str()); 
+0

謝謝@Carl Norum!我知道了! – cyberion