2

こんにちは私はプロジェクトをVisualStudio6.0からVisualStudio2005に移行しています。

私が直面している問題はこれです...VS6.0ではwchar_t単に型キャストされてunsigned shortいましたが、VS2005wchar_tではデータ型が組み込まれています。

プロジェクトでは、以前のプログラマーはwchar_tとunsignedshortを技術的に使用していました。wchar_tしかし、Vs 2005では、に変換できない、unsigned shortまたはその逆のようなエラーが表示されます。

だから私の質問は、安全にキャストwchar_tunsigned shortたり、その逆を行ったりできるのか、それともmbstowcsやwcstombsなどの関数を使用する必要があるのか​​ということです。

4

3 に答える 3

1

/ Zc:wchar_t-(またはプロジェクト設定ダイアログの同等の機能)を使用して、VS2005のwchar_t-as-native-type機能をオフにすることができます。

http://msdn.microsoft.com/en-us/library/dh8che7s%28v=vs.80%29.aspx

于 2011-03-31T05:16:45.100 に答える
1

オプションをネイティブタイプとして扱うwchar_tをNOに変更すると、うまくいきました:)。VC++2010エクスプレス。

于 2012-02-25T10:52:32.137 に答える
0

あなたはおそらく大丈夫でしょうが、それが私なら、私は検索を行い、Unicode文字への参照をに置き換えて変更しますwchar_t。手始めに、ライブラリへの将来の変更でコードを機能させることができます。また、コードが読みやすくなります。

私が何かを逃していて、これmbstowcswcstombsは何の関係もないのでなければ。Unicodeと複数の間で変換するためのものです。あなたのものはすべてUnicodeのようです。

于 2011-03-31T05:17:35.900 に答える