2012-08-29 6 views
0

안녕하세요, 누구든지 열려있는 파일 경로를 얻을 수 있도록 도와주세요. 예 : C : \ NewFolder \ Hello.txt라는 위치에 저장된 파일을 열면 C++ 코드에서 동일한 파일 경로를 가져와야합니다. 나를 도와주세요 plz ..열린 파일 경로를 얻는 방법

+0

"열린 파일 경로 가져 오기"란 무엇을 의미합니까? - "C 언어에서 동일한 파일 경로를 가져와야합니다."현재 어떤 언어로 파일 경로를 얻고 있습니까? "질문을 더 정확하게 설명하십시오. –

+0

안녕하세요. Manuel Amstutz, 내가 열면 바탕 화면에 파일이 있는지 의미합니다. 내가 그 파일의 경로가 뭔지 알아 냈어, 내 질문은 매우 분명해. 그게 .. 그게 .. 그게 .. 그거야 .. –

+1

나는 그가 이것을 원한다고 생각한다 : "C : \ NewFolder \"? – Rookie

답변

1

fstream의 open() 함수를 사용하여 드라이브에서 파일을 열고 getline()과 같은 파일을 읽을 수 있습니다.

Windows에서 파일 경로의 백 슬래시를 이스케이프 처리해야합니다 (예 : C : \ newFolder는 컴파일러에서 "C :"+ newline + "ewFolder"로 해석되므로 대신 C : \\ newFolder를 써야합니다.

예 :

#include <fstream> 
// [...] 
ifstream in_file; 
in_file.open("C:\\NewFolder\\Hello.txt"); 
if (in_file.good()) { // check to make sure the file was opened correctly 
    char outbuf[1024]; 
    while (in_file.getline(outbuf,1024)) { 
     // do something with outbuf 
    } 
} 

당신은 내가/O, 당신은 또한 특정 초기 학습 곡선을 가지고 boost::filesystem 번 봐 걸릴 수도 있습니다 파일을 많이하려고 노력하고 있지만 파일을 처리하게되면/전화 번호부는 매우 쉽습니다.

1

먼저 헤더에서 fstream 라이브러리를 이렇게 선언하십시오.

#include <fstream> 

입력 스트림 용 개체를 만듭니다.

ifstream read ; 

이렇게 파일을 엽니 다.

read.open ("C:\NewFolder\Hello.txt") ; 

오픈 파일 경로로 말하고 싶은 것 같습니다. 텍스트 파일을 동일한 디렉토리에 보관하는 것이 좋습니다.

0

당신이 무엇을 요구하는지 명확하지 않습니다.

파일을 어디에 저장했는지 알고 싶다면 파일을 저장 했으므로 경로를 알아야 할 필요가 없습니다. 이 경우의 대답은 "어디에서 저장했는지 기억하십시오"입니다. 열린 파일의 경로를 알고 싶을 때도 마찬가지입니다. 당신이 그것을 열어, 어떻게 경로를 알 수 있습니까?

사용자가 Windows에서 파일을 시각적으로 선택할 수있게하려면 GetOpenFileName을 찾아보십시오.

관련 문제