인프런 커뮤니티 질문&답변

열공!님의 프로필 이미지
열공!

작성한 질문수

홍정모의 따라하며 배우는 C언어

8.3 입출력 방향 재지정

파일 이름에 따라 다르게 작동하는 이유가 궁금합니다.

작성

·

116

1

안녕하세요.

 

제가 처음에 프로젝트 이름을 "8.3 Input Output Redirection"으로 작성하고 강의 3:00에서처럼 "8.3 Input Output Redirection.exe"를 입력하여 실행하였더니 아래와 같은 오류가 나왔습니다.

 

'8.3' is not recognized as an internal or external command,

operable program or batch file.

 

그런데 프로젝트 이름을 강사님처럼 "Lecture3"로 변경하니 강의처럼 정상 작동하더라구요.

 

이름에 따라서 다르게 작동하는 이유가 무엇인가요?

만약 다르게 작동한다면 프로젝트 이름을 지을 때부터 신경써야 하나요?

 

감사합니다.

답변 1

1

안녕하세요, 답변 도우미 Soobak 입니다.

 

문제의 원인은 프로젝트 이름 8.3 Input Output Redirection 에 존재하는 공백 때문입니다.

 

윈도우 운영체제에서는 파일 이름이나 명령어에 공백이 포함되어 있으면, 그 부분을 여러 개의 별도의 인자로 해석합니다.


예를 들어, 8.3 Input Output Redirection.exe 을 실행하려고 하면, 시스템은 8.3 을 별도의 명령어로 인식하고 나머지 부분을 그 명령어의 인자로 해석합니다.
그래서 첨부해주신 '8.3' is not recognized as an internal or external command, operable program or batch file. ('8.3' 이라는 명령어를 찾을 수 없다는 내용) 이라는 오류가 나타난 것입니다.
반면, Lecture3 에는 공백이 없기 때문에 해당 문제가 발생하지 않습니다.

 

따라서, 가능하면 공백이 없는 프로젝트 이름을 사용하시는 것이 좋은 방법이지만, 만약 공백이 포함된 파일을 실행시키시고 싶으시면 시스템이 전체 문자열을 하나의 명령어나 파일 이름으로 인식할 수 있도록 전체 이름을 큰따옴표(")로 감싸주어야 합니다.
예시) "8.3 Input Output Redirection.exe"

열공!님의 프로필 이미지
열공!

작성한 질문수

질문하기