問題タブ [wchar-t]

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 投票する
5 に答える
20094 参照

c++ - BSTR を wchar_t[] に効率的にコピーするにはどうすればよいですか?

wchar__t オブジェクトにコピーするために変換したい BSTR オブジェクトがあります。注意が必要なのは、BSTR オブジェクトの長さが数キロバイトから数百キロバイトになる可能性があることです。データをコピーする効率的な方法はありますか? wchar_t 配列を宣言するだけで、保持する必要がある可能性のある最大のデータを常に割り当てることができることはわかっています。ただし、これは、数キロバイトしか必要としない可能性があるものに数百キロバイトのデータを割り当てることを意味します。助言がありますか?

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

c++ - C/C++ のワイド exec

wchar_tのバージョンはありますかexec[lv][pe](つまり、パスおよび引数としてexec使用するもの)? ではを実行できますが、では行き詰まります (つまり、純粋な等価物はありません)。プログラムにサポート (自動実行)を追加しようとしています。wchar_twchar_tWindowsCreateProcessW(process, cmdline)*nixPOSIXUTF-16

0 投票する
12 に答える
41174 参照

c++ - TCHAR はまだ関連していますか?

私は Windows プログラミングが初めてで、Petzold の本を読んだ後、次のように思います。

TCHAR型と_T()関数を使用して文字列を宣言するのは良い習慣ですか、それとも新しいコードで文字列wchar_tと文字列を使用するだけですか?L""

Windows 2000 以降のみを対象とし、コードは起動時からi18nになります。

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

c++ - Windows の wchar_t と GCC/Linux の間で (必ずしもプログラムで) 変換する方法は?

この Windows wchar_t 文字列があるとします。

UTF-32 AFAIKであるGCC / Linux wchar_t形式に変換したいと思います(必ずしもプログラムで行う必要はありません。これは1回限りのことです)。どうすればいいのですか?(一般的な説明はいいでしょうが、この具体的なケースに基づく例も役に立ちます)

文字変換サイトに誘導しないでください。「終了文字」形式ではなく、L"\x(何か)" 形式から変換したいと考えています。

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

c++ - std::string を const wchar_t * に変換したい

方法はありますか?私のコンピュータは AMD64 です。

私が使用したとき:

VS2005 コンパイラは次のように述べています。

どうすればいいですか?

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

c++ - wchar_t データのエンディアン変換は必要ですか?

C/C++ で、マルチバイト ワイド文字 (wchar_t) 値がビッグ エンディアン システムからリトル エンディアン システムに (またはその逆に) 送信される場合、反対側でも同じ値になりますか? それとも、バイトを交換する必要がありますか?

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

c++ - C++ で移植可能な wchar_t

C++ に移植可能な wchar_t はありますか? Windows では、2 バイトです。それ以外はすべて 4 バイトです。アプリケーションで wstring を使用したいのですが、これを移植することに決めた場合、問題が発生します。

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

windows - LinuxでPOSIXメソッドを使用してファイルからUnicode-16文字列を読み取るにはどうすればよいですか?

Linuxプログラムに読み込みたいUNICODE-16文字列を含むファイルがあります。文字列は、Windowsの内部WCHAR形式から生で書き込まれました。(Windowsは常にUTF-16を使用しますか?たとえば、日本語版)

生の読み取りとwcstombs_lによる変換を使用してそれらを読み取ることができると思います。ただし、使用するロケールがわかりません。最新のUbuntuおよびMacOSXマシンで「locale-a」を実行すると、名前にutf-16が含まれるロケールはゼロになります。

もっと良い方法はありますか?

更新:正解と以下の他のものは、私がlibiconvを使用することを指摘するのに役立ちました。これが私が変換を行うために使用している関数です。私は現在、1行のコードに変換するクラス内にそれを持っています。

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

winapi - Win32: stdout ハンドルが char ストリームか wchar ストリームかを判断する

シェルを介して任意のプログラムを呼び出し、その出力をログに記録する必要がある製品用の win32 ユーティリティ関数を作成しています。これを行うには、stdout を子プロセスからパイプにリダイレクトします。

このように呼び出される可能性のあるプログラムは多種多様であり、その多くは私たちの管理下にはありません。現在、多くのプログラムからの出力が最初の文字の後に切り捨てられているように見えるという問題が見られます。これは通常、WCHAR 文字列が誤って CHAR として使用されていることを示しています。

子プロセスがその stdout パイプに CHAR または WCHAR として書き込んでいるかどうかを確認するにはどうすればよいですか?

0 投票する
5 に答える
1196 参照

c++ - std::wcout << L"élève"; の予期しない出力 Windows シェルで

wchar_t と utf8 の間で文字列を変換するいくつかの関数をテストしているときに、Visual C++ Express 2008 で次の奇妙な結果に遭遇しました。

「ÚlÞve:」が出力されますが、これは明らかに期待どおりではありません。

これは明らかにバグです。どうしてですか?そのような「機能」をどのように扱うと思いますか?