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[]stringchar[]

教えてください。

4

1 に答える 1

2

Astd::stringは文字配列と同じではありません。これは C++ オブジェクトです。C 文字列としてアクセスする場合は、そのc_str()メソッドを呼び出します。

strcpy(a, b.c_str());
于 2013-10-18T04:33:13.667 に答える