問題タブ [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.

0 投票する
8 に答える
46726 参照

c++ - C/C++(ms)でchar[]をtchar[]に/から変換する最も簡単な方法は何ですか?

これはかなりソフトボールの質問のように思えますが、char と tchar の参照に関して非常に多くのバリエーションがあるように見えるため、私は常にこの関数を調べるのに苦労しています。

0 投票する
3 に答える
410 参照

c++ - 異なる文字セットを持つライブラリのヘッダー ファイルでの TCHAR の処理

2 つのサードパーティ ライブラリを使用するプロジェクトがあり、どちらもヘッダー ファイルで TCHAR を使用します。残念ながら、1 つのライブラリはマルチバイトとしてコンパイルされ (ライブラリ a と呼びます)、もう 1 つのライブラリは Unicode としてコンパイルされます (ライブラリ b と呼びます)。

今私が理解している方法は、プリコンパイラによって TCHAR がビルドオプションに応じて wchar または char に置き換えられるということです。そのため、ライブラリ a がコンパイルされたとき、TCHAR 型のパラメータを受け取るメソッドは char 型のパラメータを期待するように設定され、ライブラリ b のメソッドは wchar 型のパラメータを期待するように設定されています。

残念ながら、消費するアプリケーションも文字セットを選択する必要があります。Unicode を選択すると、ライブラリ a にインクルードしたヘッダー ファイルは、メソッドが wchar を必要としていることを示します。これは、ヘッダー内の TCHAR をコンパイルすると wchar として解釈されるためです。これには、構造内で定義された TCHARS が含まれます。この動作を実際に確認しました。TCHAR バッファを割り当てて渡すと、wchar バッファがマルチバイト データでいっぱいになるため、ガベージが返されます。

私の質問は次のとおりです。これらのライブラリの両方を同じアプリケーションで使用するクリーンな方法はありますか? これらのライブラリの使用方法に何か問題があるのでしょうか?

0 投票する
2 に答える
45992 参照

c++ - TCHAR 配列に値を割り当てる方法

TCHARC++ コードに静的文字列を割り当てたい配列があります。

経由で初期文字列を設定しました

これですべてが正常に機能します。ただし、次のように2行に分割すると

バグが発生し、コンパイラ エラーが発生します。

エラー C2440: '=': 'const char [14]' から 'TCHAR [260]' に変換できません

TEXT()関数は私がここでやりたいことを正確に行うべきではありませんか? TCHAR指定された文字列をsに変換しますか? 2 つの行を一緒にすると、なぜ機能するのでしょうか? 機能させるには何を変更する必要がありますか?

私が遭遇した他の紛らわしいこと:

インターネットで検索したところ、 と と もあることが_T()わかり_TEXT()まし__T()__TEXT()。それらは何のため?どの環境でどちらを使用すればよいですか?

0 投票する
4 に答える
21779 参照

c++ - C ++の可変長引数を使用する場合、_TCHAR*からchar*に変換するにはどうすればよいですか?

format_TCHAR*文字列といくつかのchar*文字列を可変長引数の関数に渡す必要があります。

したがって、次のように呼び出すことができます。

明らかに、簡単な修正はcharの代わりに_TCHARを使用することですが、残念ながらそのような贅沢はありません。

文字列をフォーマットできるように、これをva_startなどで使用する必要があります。

残念ながら、このエラーが発生するため、これを使用することはできません。

char*を_TCHAR*に変換する必要があると思いますが、どうすればよいでしょうか。

0 投票する
1 に答える
4634 参照

char - CA2Wを誤って使用するにはどうすればよいですか?

なぜこれが機能しないのか誰かに説明してもらえますか?

そして、代わりに私が何をすべきか教えてください。

私に平等なテキストを与える代わりに、それは私に与えています:

0 投票する
4 に答える
41451 参照

character-encoding - TCHAR 配列を char 配列に変換する

に変換する方法TCHAR[]char[]?

0 投票する
6 に答える
14682 参照

c++ - std ::wstringをTCHAR*に変換する方法は?

をに変換する方法std::wstringTCHAR*std::wstring.c_str()を返すため、機能しませんwchar_t*

から、またはからwchar_t*への行き方を教えてください。TCHAR*std::wstringTCHAR*

0 投票する
2 に答える
17601 参照

c - Unicodeバージョンの文字列を比較するためにstrcmpまたは_tcscmpを使用することをお勧めしますか?

Unicodeバージョンの文字列を比較するためにstrcmpまたは_tcscmpを使用することをお勧めしますか?

0 投票する
4 に答える
6057 参照

c++ - How do I convert a "pointer to const TCHAR" to a "std::string"?

I have a class which returns a typed pointer to a "const TCHAR". I need to convert it to a std::string but I have not found a way to make this happen.

Can anyone provide some insight on how to convert it?