2010-06-22 8 views
4

안녕하세요, fstream을 사용하여 읽으려고하는 텍스트 파일은 어디에 배치해야합니까? 이 자습서에서는 http://www.gamedev.net/reference/articles/article1127.asp이라고 말하면서어디서 파일을 읽을 수 있습니까?

ifstream fin ("input.txt");

"input.txt"는 어디에 위치합니까? 전에 "C : \ Users \ XXXXXXX \ Documents \ test.in"을 수행하여 파일 경로를 지정하려고했습니다. 그러나 이것은 작동하지 않는 것 같습니다, Incorrect data input with fstream.

CodeBlocks를 사용하고 있습니다.

미리 감사드립니다.

+0

의 디버그/릴리스 폴더의 Executing Working Dir을 변경해야하는 경우 문자열을 다른 백 슬래시로 이스케이프 처리해야합니다. 그래서 :''C : \\ Users \\ XXXXXXX \\ Documents \\ test.in "'조금 더 잘 작동 할 것입니다. –

답변

4

input.txt는 작업 디렉토리에 있어야합니다. 일반적으로 작업 디렉토리는 실행 파일이 들어있는 디렉토리입니다. Visual Studio의 경우 디버거에서 실행할 때 작업 디렉터리는 디버그 옵션에서 설정할 수 있습니다.

1

이것은 시스템에 따라 다르지만 대부분의 경우 상대 경로로 파일을 열면 프로세스의 작업 디렉토리를 기준으로 파일을 찾습니다 (즉, 파일을 시작한 위치와 관련하여). 프로그램).

그래서 "input.txt"를 열려고하면 프로그램을 시작한 디렉토리를 볼 수 있습니다.

0

나는 현재 작업 디렉토리에 의존하지 않고 경로를 지정한다고 말할 수 있습니다. (어떤 이유로 그것이 전에는 작동하지 않았지만).

시도해보십시오. ifstream fin ("C : /MyDir1/MyDir2/input.txt");

또는 ifstream fin ("C : \ MyDir1 \ MyDir2 \ input.txt");

또한 프로그램 (실행중인 계정)에 적어도이 파일에 대한 읽기 권한이 있는지 확인하십시오.

0

당신은 여전히 ​​코드 :: 블록에 대한 관심 당신은 Target Properties을 수정 Project -> Properties -> Build targets로 이동하여 문자 그대로의 Microsoft 경로 구분 기호를 사용하는 경우 프로젝트

관련 문제