2013-10-18 4 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

std::string은 문자 배열과 동일하게 이 아닌입니다. 이것은 C++ 객체입니다. 당신은 C 문자열로에 대한 액세스 권한을 원하는 경우에, 그 c_str() 메소드를 호출

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

당신에게 @Carl Norum 감사합니다! 나는 그것을 얻었다! – cyberion