다운로드 한 코드에서 C++ 메소드를 다시 작성합니다. 이 메서드는 원래 PCWSTR을 매개 변수로 사용하고 사용자에게 파일 이름을 입력하라는 메시지를 표시했습니다. 두 개의 매개 변수 (둘 다 PCWSTR)를 사용하고 사용자에게 프롬프트를 표시하지 않도록 메소드를 수정했습니다. 이미 다른 파일 목록을 생성 중입니다. 파일의 목록을 반복하는 내 메서드에서 두 매개 변수를 사용하여 새 (수정 된) 메서드를 호출하려고합니다.PCWSTR이 있어야하며 WCHAR이되어야합니다. []
원본 메서드는 사용자에게 StringCBGetsW 명령을 사용하여 입력을 요구했습니다. 이처럼 ...
HRESULT tst=S_OK; //these are at the top of the method
WCHAR fname[85] = {0}; //these are at the top of the method
tst = StringCbGetsW(fname,sizeof(fname));
WCHAR 에 fname은 더 아래 또 다른 반복 메서드에 전달됩니다. 그 방법을 보면, 그것은 LPCWSTR 타입이라고 말합니다; 대신 WCHAR을 대신 사용할 수 있다고 가정합니다.
하지만 할 수없는 것은 메서드가 전달 된 PCWSTR입니다. 내 궁극적 인 목표는 사용자에게 파일 이름을 묻지 않고 이전에 다른 방법으로 반복 된 파일 이름 대신 사용하는 것입니다.
tl; 나는 PCWSTR을 가지고 있고 그것은 WCHAR로 변환 될 필요가있다. 나는 WCHAR []이 무엇인지, 어떻게 그것으로 무엇을해야할지 모른다. 그것이 무엇인지보기 위해 printf을 시도하는 것을 포함합니다.
추신 : 저는 파일을 옮기고 복사하는 더 쉬운 방법이 있다는 것을 알고 있습니다. 프로그램을 사용하여이 작업을 시도하는 이유가 있습니다.
'LPCWSTR'은'PCWSTR'와 같은 것입니다. –
IIRC는 끔찍한 헝가리 표기법은 const'WCHAR' 리터럴에 대한 포인터로서'PCWSTR'을 나타냅니다. 'WCHAR'에 접근하기 위해서는 그것을 역 참조 할 필요가있을 것입니다. –
'WCHAR []'은 암시 적으로'PCWSTR'로 변환 가능합니다; 코드를 설명하는 대신 코드를 표시하여 실제 문제가 어디에 있는지 확인할 수 있습니까? 즉, [MCVE] (http://stackoverflow.com/help/mcve)를 게시하십시오. – Angew