strcpy 기능에 문제가 있습니다. 이 간단한 코드 (아래)의 핵심은 배열에서 포인터 배열로 문자열을 복사하는 것입니다.C strcpy = 처리되지 않은 예외 : 액세스 위반 작성 위치 0x00000000
Unhandled exception: Access violation writing location 0x00000000.
이유 :
char string[20] = "ABCDEFGH\0";
char * array_of_pointers[20];
// now I want to copy string to the first available slot;
strcpy(array_of_pointers[0],string);
그런 다음 strcpy를 나에게 오류가 발생합니다? 나는이 문제가 아마 간단하다는 것을 알고 있지만, 나는 실마리가 없다.
나는 그것을 할 수 없다. array_of_pointers [0] = malloc (strlen (string) + 1); Visual에서 "void *"유형의 값을 "char *"유형의 엔티티에 할당 할 수 없습니다 – krzakov
그런 다음 C++ 파일로 컴파일하는 것처럼 들립니다. 이 경우, 그것을 캐스팅해야합니다 :'array_of_pointers [0] = (char *) malloc (...)' –
Ok. 케이스가 흠뻑 젖었다. 정의가 초기화를 제공한다고 생각했습니다. – krzakov