2012-07-12 4 views
0

현재 MSVS 2010에서 stlport 5.1.3에서 stl로 코드를 이식하고 있습니다. 문제가 발생하고 누군가 나를 도울 수 있기를 바랍니다. 코드의stlport ifstream (HANDLE)을 MS stl ifstream에 포트하는 방법은 무엇입니까?

어딘가은 : basic_ifstream가 무효 * 소요의 ctor을 가지고 있기 때문으로 구축 된 STLport

HANDLE lHandle = CreateFileW(...); 

ifstream lStream(lHandle); 

// more job here... 

. 그러나 표준 stl 않습니다. *

ifstream lStream(/*FileName*/); 

...하지만 내 파일 이름은 wchar_t를 입니다 : 내가 좋아하는 뭔가를 작성해야합니다. ifstream cTor 만 걸림 문자 * ...

해결 방법이 있습니까? 사전에

감사합니다,

도미니크

+0

ofstream에 대해서도 마찬가지입니다 ... –

+0

대부분의 STL 클래스에는 와이드 캐릭터 변형이 있다고 생각합니다. 이 경우 wifstream에는 wchar_t *를 사용하는 ctor가 있습니다. – Luke

+0

네 말이 맞아. VS2005 버전에서는 그렇지 않은 것 같습니다 ... –

답변

0

글쎄, STL은 MSVC2010에 포함 된 내가 필요한 모든 물건을 제공하지만이 문서에없는 것을 보인다.

이전 std :: fstream에서 넓은 char 파일 이름을 처리 할 수 ​​없으므로 CreateFile이 (가) 사용되었습니다. 이제 cTor와 open() 멤버가 있습니다.

ifstream의 새로운 특징은 프로그래머가 공유 보호 모드를 설정할 수있게합니다. 나는 또한 그것을 필요로하고 그것은 CreateFile에 의해 행해졌 다. ...

따라서 "새로운"stl은 내가 필요한 모든 힘을 주었다. 의사에게 약간의 결함이 있습니다.