2

マルチバイト文字セットで動作するコードを入手しました。ただし、このコードを UNICODE に変換したいと考えています。だから私はたくさんのものを修正しましたが、strncpy() 行で失敗しました。これは私が変更したい行です:

strncpy(a.szTip, szToolTip, bLength);

これを修正するために多くの関数を使用しましたが、すべて失敗しました。

エラーは次のとおりです。

strncpy cannot convert parameter 1 from WCHAR[128] to char *
4

1 に答える 1

8

ワイド文字を扱う場合は、wcsncpy()(およびその他の関連する関数) を使用します。

Remy Lebeau が指摘しているように、_tcsncpy()ANSI ビルドと Unicode ビルドの両方をサポートする場合は、マクロを使用する方が安全です (それぞれ正しい関数に展開されます)。

于 2012-09-06T16:13:56.360 に答える