私はCのコードにTCHAR
の配列を持っています。これは静的な文字列を割り当てたいものです。TCHAR配列に値を代入する方法
私は
TCHAR myVariable[260] = TEXT("initial value");
すべては、この上の正常に動作を経由して、それへの最初の文字列を設定します。しかし、ときに私は
TCHAR myVariable[260];
myVariable = TEXT("initial value");
そのバグのように2つのラインでそれを分割し、コンパイラエラーを与える:
error C2440: '=': cannot convert from 'const char [14]' to 'TCHAR [260]'
はTEXT()
機能は、私がここにしたい正確に何をやるべきではないのですか?指定された文字列をTCHAR
に変換しますか? 2本の線をまとめると、なぜ機能するのですか?それを動作させるためには何を変えなければならないのですか?
私が遭遇したいくつかの他の混乱の事:
私はそれをインターネットで検索したと_T()
と_TEXT()
と__T()
と__TEXT()
もあることを見てきました。それらは何のため?どの環境で使うべきですか?
+1 to avakar。副次的に、プロジェクト設定(Unicode/ASCII)に応じて、WCHARまたはcharの代わりにTCHARを使用してください.TCHARマクロはWCHAR/charとして定義されます。同様に、_tcscpy_s、_tcscat_sなどの_tベースの安全な関数を使用します。これらの関数は、あなたのprojに基づいて再度定義されます。 wcscpyまたはstrcpyとして設定します。 私の2セント。 – legends2k
私はこれを試しましたが、このエラーがあります:エラーC2664: 'wcscpy': 'const char [8]'から 'const wchar_t *'にパラメータ2を変換できません –
@ user396483、何を試しましたか?明らかに、str、_tcs、およびwcsのバージョンを混在させています。 – avakar