말 그대로 VC++.NET의 프로젝트를 하위인 VC++ 6.0 프로젝트로 변환해 주는 프로그램입니다.

현재 VC++ 6.0에서는 .NET의 프로젝트와 호환이 되지 않아 읽어 오지를 못했죠..

이 프로그램을 이용하여 변환하시고 사용하시면 됩니다.

간단한 사용법은... 도스모드에서

prjconverter c:projecttesttest.sln

(c:projecttesttest.sln은 해당 프로젝트의 sln 파일 경로 및 파일명입니다.)

형식으로 작업해주시면 되구요..

// NGPS 에서 가져온 자료입니다. 폴더명이 한글일 때는 작동하지 않는다네요. 영어로 바꿔줘야합니다. 

std::string<->std::wstring convert

 std::wstring FromCodePage( unsigned int codpage , const std::string& utf8string )
 {
  
  int widesize = ::MultiByteToWideChar( codpage, 0, utf8string.c_str(), -1, NULL, 0);
  if (widesize == ERROR_NO_UNICODE_TRANSLATION)
  {
   printf("Invalid UTF-8 sequence.");
  }
  if (widesize == 0)
  {
   printf("Error in conversion.");
  }

  std::vector<wchar_t> resultstring(widesize+1);

  int convresult = ::MultiByteToWideChar(codpage, 0, utf8string.c_str(), -1, &resultstring[0], widesize+1);

  if (convresult != widesize)
  {
   printf("Utf8 - Utf16 Conversion error!");
  }

  return std::wstring(&resultstring[0]);
 }

 std::wstring FromUtf8(const std::string& utf8string)
 {
  return FromCodePage( CP_UTF8, utf8string );
 }

 std::wstring FromAsc( const std::string& ascstring  )
 {
  return  FromCodePage( CP_ACP, ascstring ) ;
 }
 

 std::string ToCodePage(unsigned int codepage, const std::wstring& widestring)
 {
  int out_size = ::WideCharToMultiByte( codepage, 0, widestring.c_str(), -1, NULL, 0, NULL, NULL );
  if (out_size == 0)
  {
   throw GCN_EXCEPTION("Error in conversion.");
  }
  
  std::vector<char> resultstring(out_size);
  
  int convresult = ::WideCharToMultiByte(codepage, 0, widestring.c_str(), -1, &resultstring[0], out_size, NULL, NULL);
  
  if (convresult != out_size)
  {
   throw GCN_EXCEPTION("Utf16 - Codepage Conversion error!");
  }
  
  return std::string(&resultstring[0]);
 }
 
 
 std::string ToUtf8(const std::wstring& widestring)
 {  
  return ToCodePage( CP_UTF8, widestring );
 }


 std::string ToAsc(const std::wstring& widestring)
 {  
  return ToCodePage( CP_ACP, widestring );
 }