-1

TCHAR別の配列に割り当てたい配列があります。例えば:

TCHAR tchar1[ MAX_PATH ],tchar2[ MAX_PATH ];
SHGetSpecialFolderPath(0,tchar1, CSIDL_MYPICTURES, FALSE);
tchar2=tchar1; //something like this

誰でもアイデアがありますか?

4

3 に答える 3

7

2 つの char 配列があります。それらを互いに割り当てることはできず、その内容をコピーする必要があります。

TCHAR 配列をコピーするには、 _tcscpy_sを使用します (UNICODE が定義されている場合とされていない場合をコンパイルするため...これが、最初に TCHAR を使用する唯一の理由です)。

于 2013-04-26T14:52:59.223 に答える
2

これらの変数は配列であるため、まず第一にtchar2=tchar1;コンパイルされません。それらはコンパイルされるように宣言されていTCHAR*ますが、ポインター値を割り当てるだけなので、1 つの文字列を別の文字列にコピーすることはできません。

_tcsncpyまたは_tcscpy関数を使用できます。

_tcscpy(tchar2, tchar1);
于 2013-04-26T14:52:38.020 に答える
2

使用lstrcpyn()または同等の機能:

lstrcpyn(tchar2, tchar1, MAX_PATH);
于 2013-04-26T14:55:13.503 に答える