2012-12-15 3 views
1

네이티브 C++를 사용하여 Windows 상자의 네트워크 드라이브에있는 파일을 열 때 문제가 있습니다. 파일이 로컬 파일이면 내 코드가 제대로 작동하지만 파일이 네트워크 공유에 있으면 실패합니다. Windows 탐색기에서 파일을 완벽하게 읽을 수 있습니다. 제대로C++ - Windows에서 네트워크 경로의 파일을 열 수 없습니다.

struct stat sb; 
if (stat(cFilename, &sb) == 0) 
{ 
    // Read file here. (This never works for a network path) 
} 

내 경로를 포맷 (예를 들어, "\\ 서버 \ 여기서 filename.ext")를,하지만 난 여전히 그것을 열 수 없습니다 :

ifstream ifs(cFilename); 
    if(ifs.is_open()) 
    { 
    // Read file here. (This never works for a network path) 
    } 

나는 또한이 시도했습니다. 어떤 아이디어?

+0

먼저 파일을 읽을 수있는 권한이 있는지 확인 했습니까? – Rafael

+0

Windows 탐색기를 통해 파일을 읽고 쓸 수 있습니다. 내 애플리케이션에 특정 권한이 필요합니까? – Kenji

+0

아니요,이 응용 프로그램이 내 두 번째 생각으로 인도하는 서비스가 아니면 콘솔이나 데스크톱 응용 프로그램 서비스입니까? – Rafael

답변

1

이름이 \\server\filename 인 경우 올바르지 않을 수 있습니다. 나는 일반적으로 그것뿐만 아니라 공유 이름을 필요가 있다고 생각 :

\\server\share\filename 

는 또한, 코드에서, 당신은 백 슬래시 (예를 들어, \\\\server\\share\\filename)를 빠져 있는지 확인하십시오.

+1

\\\\ 서버 \\ 공유 \\ 파일 이름 – TazMainiac

+0

고마워! 나는 그런 식으로 타이핑하고 그것을 인용하는 것을 잊어 버렸습니다 ... 그리고 나서 결과를 보지 않았습니다. 나쁘다. –

+0

예, 추가 슬래시를 추가하고 있습니다. Windows 탐색기를 통해 파일을 읽고 쓸 수있는 권한이 있습니다. 내 애플리케이션에 특정 권한이 필요합니까? – Kenji

관련 문제