cannot convert parameter 1 from 'char [40]' to 'LPWSTR' 에러 발생시 해결 방법

cannot convert parameter 1 from 'char [40]' to 'LPWSTR' 에러 발생시 해결 방법


VS.Net 2005에서 사용해본 결과 기본적으로 'LPWSTR' 타입을 사용하고 있었으므로..


wchar_t * pExeFile = ...;

wchar_t * pModuleFile = ...;

 

swprintf(pExeFile, L"%s", pModuleFile);


이처럼 하는게 좋을 거 같다..

swprintf(pExeFile, L"%s", pModuleFile);

위 부분에서 L을 빼먹으면 또 에러가 나니 조심...

char * pExeFile = ...;

char * pModuleFile = ...;

 

sprintf(pExeFile, "%s", pModuleFile);

 

or

 

wchar_t * pExeFile = ...;

wchar_t * pModuleFile = ...;

 

swprintf(pExeFile, L"%s", pModuleFile);

 

or

 

#include <TCHAR.h>

. . .

LPCTSTR pExeFile = ...;

LPCTSTR pModuleFile = ...;

 

_stprintf(pExeFile, _T("%s"), pModuleFile);

 

or a mixture:

 

wchar_t * pExeFile = ...;

char * pModuleFile = ...;

 

swprintf(pExeFile, L"%hs", pModuleFile);

 

or

 

char * pExeFile = ...;

wchar_t * pModuleFile = ...;

 

sprintf(pExeFile, "%ws", pModuleFile);

댓글

Designed by JB FACTORY