그래서 기본적으로 나는 파일 이름 나에게 입력을 할 수 있습니다이어떻게 cin에 char 포인터를 할당합니까?
char* inputFileName;
cout<< "Filename: "; cin>>*inputFileName;
을하려고하지만 누를 때 내가 처리되지 않은 예외 오류가 입력 할 때. 어떤 아이디어? 내가
char* inputFileName;
cout<< "Filename: "; cin>>inputFileName;
을 시도하는 경우도
편집 나는 그것을 실행하려고하면 디버그 선언이 실패한 얻을.
'inputFileName'은 (매달리는) 포인터 일 뿐이며, 문자열에 대한 저장 공간을 제공하지 않습니다. 당신은 문자열을위한 메모리를 할당해야한다. 지금은 무작위 (잠재적으로 무효 인) 메모리 위치에 읽은 문자를 쓰는 것을'cin '이라고 말하는 것이다. 책을 읽으 려하기 전에 C 문자열을 연구하십시오. –
@MatteoItalia가 옳습니다. 또한, 당신은'inputFileName'을 역 참조해서는 안됩니다. – Ryan
올바른 방법은 'char *'를 사용하지 않는 것입니다. 그게'std :: string'을위한 것입니다. – chris