問題タブ [tchar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - TCHAR 配列のディープ コピーが切り捨てられる
使用する必要のある機能をテストするためのクラスを作成しました。基本的に、クラスは渡された文字列のディープ コピーを取得し、getter を介して使用できるようにします。Visual Studio 2012 を使用しています。プロジェクト設定で Unicode が有効になっています。
問題は、memcpy 操作によって切り捨てられた文字列が生成されることです。出力はそのようです。
ここで、最初の行は渡された TCHAR* 文字列のチェックであり、2 行目は割り当てられたメモリに memcpy 操作を入力した結果の出力です。期待される出力は次のとおりです。「テストテスト123」。
ここで何が間違っているのか誰でも説明できますか?
NB ここから #ifndef UNICODE typedefs を取得しました: how-to-convert-tchar-array-to-stdstring
c++ - _tcstok_s の複数文字区切り文字
この特定の質問の重複は見つかりませんが、異なる言語には同様の質問があります。
区切り文字が 2 文字の文字列であるトークンに文字列を分割しようとしています。
私の質問は次のとおりです。 1. MSDN は、区切り文字として一連の文字を使用すると述べているため、_tcstok_s でそれを行うことは可能ですか?これらの文字のいずれかに一致しますか? 2. _tcstok_s で実行できない場合は、実行できる他の関数。私の文字列は TCHAR であり、組み込み関数を可能な限り使用したいと考えています。
ありがとう!
c++ - ATL を使用した LPTSTR から LPWSTR への変換
私がこれを持っているとしましょう:
ATL 変換マクロ、のいずれかを使用できCT2CW
、関数は期待どおりに機能します。
ただし、次のようなものがある場合:
現在WString
、私が期待するものは含まれていません。ゴミが入っているように見えます。これはファンキーなポインター ビジネスだと確信していますが、困惑しています。
c++ - CHAR を TCHAR に変換する最速かつエレガントな方法
通常、CHAR または CHAR* を TCHAR または TCHAR* に変換する必要があります。
ATL や他の Microsoft ライブラリを使用せずにそれを行うためのより良い、最速の方法はありますか? ありがとうございました。
c++ - mbstowcs_s 関数の SizeInWords パラメータのコンテキストにおける Word のサイズは?
Windows API 関数 mbstowcs_s のコンテキストで Word の正確なサイズを決定するのに苦労しています。MSDN からの関連情報とリンクを次に示します。
mbstowcs_s、_mbstowcs_s_l
マルチバイト文字のシーケンスを、対応するワイド文字のシーケンスに変換します。「CRT のセキュリティ機能」で説明されているように、セキュリティが強化された mbstowcs、_mbstowcs_l のバージョン。
パラメーター
[out] pReturnValue - 変換された文字数。
[out] wcstr - 結果として変換されたワイド文字列のバッファーのアドレス。
[in] sizeInWords - wcstr バッファーのサイズ (単語単位)。
[in] mbstr - null で終了するマルチバイト文字のシーケンスのアドレス。
[in] count - wcstr バッファーに格納するワイド文字の最大数。終端の null または _TRUNCATE は含まれません。
MSDN ページへのリンクは次のとおりです: https://msdn.microsoft.com/en-us/library/eyktyxsx.aspx
何か案は?
c++ - MFC/C++ プロジェクトでパラメーター 1 を 'const wchar_t *' から 'LPCTSTR' に変換できません
次の行でコンパイル エラーが発生します。
このエラーを解決する方法がわかりません。次のことを試しました。
「マルチバイト文字セットを使用する」設定を使用していますが、変更したくありません。