2017-02-15 3 views
1

C++を始めたばかりなので、とても新しくなっています。しかし、私はプロジェクト1からプロジェクト2にコピーしたコードで問題に遭遇しましたが、プロジェクト2には「エラー」が含まれていることを除いて、現在はIDENTICAL ...C++の基礎(他のメソッドを使用している同じコード(ユニコード?))

なぜ私はC++を始めましたか?仕事では、インターネット上の良い情報を見つけることができない資格プロバイダを作成するように私に依頼しました...

とにかく、私は新しいプロジェクトにコードをコピーしましたが、まだエラーがあります 私はコピーしました:

StringCchCopyN(pszDomain, lenDomain + 1, pchDomainBegin, lenDomain); 

が、プロジェクト1が使用される:

STRSAFEAPI StringCchCopyNW(
     _Out_writes_(cchDest) _Always_(_Post_z_) STRSAFE_LPWSTR pszDest, 
     _In_ size_t cchDest, 
     _In_reads_or_z_(cchToCopy) STRSAFE_PCNZWCH pszSrc, 
     _In_ size_t cchToCopy) 

を、プロジェクト2が使用している:

STRSAFEAPI StringCchCopyNA(
     _Out_writes_(cchDest) _Always_(_Post_z_) STRSAFE_LPSTR pszDest, 
     _In_ size_t cchDest, 
     _In_reads_or_z_(cchToCopy) STRSAFE_PCNZCH pszSrc, 
     _In_ size_t cchToCopy) 

なぜ、プロジェクト1 NA関数を使用して、NW機能とプロジェクト2を使用して、私はいくつかの小さな研究やっている:

#ifdef UNICODE 
    #pragma region Application Family 
    #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 
     #define StringCchCopyN StringCchCopyNW 
    #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ 
    #pragma endregion 
#else 
    #pragma region Desktop Family 
    #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 
     #define StringCchCopyN StringCchCopyNA 
    #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ 
    #pragma endregion 
#endif // !UNICODE 

は、しかし、私は、プロジェクト1がUNICODEおよびプロジェクト2を使用している理由見当もつかないがないです...私が言ったように、プロジェクトはアイデンティティです、少なくとも、それは私が考えるものです。

答えて

0

プロジェクト1に_UNICODEがプロジェクトレベルで定義されています(プロジェクトプロパティの確認)。したがって、project2のプロパティで_UNICODEを定義してください。

ここで方法は次のとおりです。

  1. 右クリックプロジェクト]> [プロパティ]
  2. 構成プロパティ>一般
  3. プロジェクトの既定値>文字が
  4. 変更の設定「の使用マルチバイト文字セット」>「を使用するUnicode文字が「
関連する問題