問題タブ [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 投票する
1 に答える
3006 参照

visual-c++ - tchar[] から LPCWSTR への変換

FindFirstFile を使用してディレクトリをトラバースし、dll を検索しています。

dll を取得したら、WIN32_FIND_DATA 構造体の cfilename を使用してその dll の名前を取得します。

ここで、dll への絶対パスを期待する関数 LoadLibrary() に dll を渡したいと思います。

ここに問題があります: WIN32_FIND_DATA 構造体の cfilename は TCHAR[] 配列を返しますが、これは dll の名前であり、そのパスではありません。パスを名前に連結して、絶対パスを取得する必要があります。

LoadLibrary() は、パラメーターとして LPCWSTR を想定しています。

助けが必要です: (1) WIN32_FIND_DATA の cfilename によって返された TCHAR[] を LPCWSTR に変換するには (2) 上記の変換された LPCWSTR を定義済みのパス (L"C:\dir\example\") と連結して、絶対パスを取得します。

正しい答えへの微調整は私の一日を作ります:)

よろしく、アンディ

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

c++ - C++ 索引付け TCHAR 文字列

古い C++ コードで静的解析作業を行っていますが、私の C++ は最強ではありません。私はこのコードを持っています:

ここで、静的分析ツールは、 logString (関数に渡されるパラメーター) のインデックスが 1024 よりも短い可能性があると不平を言っています (サイズはさまざまです。1024 が最大サイズだと思います)。したがって、私の修正は、次のようにlogStringのサイズを確認して使用することだと思います。

私はちょうど疑問に思っています、これはうまくいくでしょうか?誰でも欠陥/問題を見ることができますか? このプロジェクトのビルドとテストは少し難しいので、基本的には、すべてを実行する前にサニティ チェックを探しています。または、私がそれを行うためのより良い方法はありますか? 以前にハードコードされた int があったため、size_t 値を _tcsncpy に渡すことはできますか?

助けてくれてありがとう。

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

c++ - 関数からTCHARを正しく出力する方法は?

このコード:

エラーが発生します:

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

string - システムへのSHGetSpecialFolderPath::String ^

正確SHGetSpecialFolderPathには、aを文字列に解析しようとしています。 私は今このコードを使用しています:System::String^

私はこのようなことを試しましたが、それも機能しません:

私はこのようなものを手に入れたいだけですSystem::String^

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

c++ - TCHAR配列の数値をVC++のINTEGER変数に格納します。(UNICODE環境の場合)

私はスレッドでこれに非常によく似た質問をしました: https ://stackoverflow.com/questions/11259474/store-the-numericals-in-char-array-into-an-integer-variable-in-vc

上記のスレッドで、私の質問は次のとおりです。:私はUNICODE環境で作業しています。したがって、TCHArはおそらくwcharとして扱われます。

私のシナリオは次のとおりです:(C ++)

TCHAR a [10]では、配列a []には「1」、「2」、「3」などの要素(数値)があります。

a [0]='1'と言います。a 1 = '2'; a [2] = '3';

現在、a []は3文字の「1」、「2」、および「3」を格納しています。これを123(整数123)としてintに格納したいと思います。

C ++でこれを達成する方法は?

前もって感謝します。

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

c - SHFileOperationでのSHGetSpecialFolderPath+SubFolderの使用

C:\Users\username\AppData\Roaming\appnameユーザーがアプリケーションをアンインストールするときにフォルダを削除したいappname

まず、次のコードを使用してパスを取得しますC:\Users\username\AppData\Roaming

appnameは次のように定義されます_T("appname")

最初の質問は次のとおりです。How to append "appname" to "dir"?

上記が行われたと仮定します。SHFileOperation次に、を使用して空でないフォルダを削除する必要がありますC:\Users\username\AppData\Roaming\appname。したがって、構造体に二重のnullで終了する文字列が必要SHFILEOPSTRUCTです。それで

How to get a double null-terminated string from the result of the first step? Just append _T("\0\0") to it?

更新:TCHAR *dir2 = lstrcat(dir, appname);パスを取得するために使用できます。しかし、使用しようとするTCHAR *dir3 = lstrcat(dir2, _T("\0\0"));と、フォルダが削除されません。いくつでも機能し\0ません。


ps:

次のことを直接行うと、動作するようになりました。問題は、ユーザーに依存しないようにしたいということです。

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

c++ - CString から TCHAR へ

今日、久しぶりにこの変換を見ました:

正常にコンパイルされます。この変換について何か説明はありますか?

GetBuffer後で使用して解放したりnew LPTSTR、文字列の長さで を作成したりする必要がないため、ほとんど問題ないようです。

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

winapi - winapi で _tcstok_s を使用して tchar を解析する

次のコードを使用すると、「simpleWindow.exe の 0x59be5d2e (msvcr100d.dll) で未処理の例外: 0xC0000005: アクセス違反の書き込み場所 0x00e750f8」というエラーが表示されます。

これは私が使用している例にすぎません。最終的には別のクラスから文字列を取り込もうとしていますが、最初に解析を機能させたいと考えていました。

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

c++ - C++ プログラムでの TCHAR および未解決の外部シンボル (LNK2019) エラー?

私のプロジェクトには、2 つの cpp ファイルと 1 つのヘッダー ファイルがあります。1 つの cpp ファイルには 1 つのクラスの実装が含まれており、その宣言はヘッダー ファイルにあります。もう 1 つの cpp ファイルは、int main関数を含むファイルです。

クラスのコンストラクターの 1 つにパラメーターが含まれており、リンカー エラーTCHARで未解決の関数として引用されています。LNK2019

私は Visual Studio 2010 を使用してCharacter setおり、プロジェクトのプロパティでオプションを に設定して、 とマクロのどちらを使用Not Setするかを選択できるようにしています。charwchar_tUNICODE_UNICODE

現在、メインの cpp ファイルの先頭でこれらを定義しており、ヘッダー ファイルはこれら 2 つの後にインクルードされます。ただし、ヘッダー ファイルの先頭でこれらのマクロを定義すると、プロジェクトは完全にコンパイルされます。

とにかくこの問題を解決する方法はありますか? または、またはどちらかを使用するようにクラスをハードコーディングする必要がありますcharwchar_t?

ありがとう。