У меня есть массив TCHAR
в моем коде на C++, который я хочу присвоить ему статические строки.Как присвоить значение массиву TCHAR
Я установил начальную строку к нему через
TCHAR myVariable[260] = TEXT("initial value");
Все отлично работает на этом. Однако, когда я разделить его на две строки, как в
TCHAR myVariable[260];
myVariable = TEXT("initial value");
нем ошибок и дает ошибку компилятора:
error C2440: '=': cannot convert from 'const char [14]' to 'TCHAR [260]'
не должна функция TEXT()
делать именно то, что я хочу здесь? преобразовать данную строку в TCHAR
s? Почему это работает, когда вы соединяете две линии? Что мне нужно изменить, чтобы заставить его работать?
Некоторые другие запутанным, что я столкнулся:
Я искал в интернете для него и увидели, что есть также _T()
и _TEXT()
и __T()
и __TEXT()
. Для чего они? Какие из них следует использовать в какой среде?
+1 для avakar. На боковой ноте используйте TCHAR вместо WCHAR или char, в зависимости от настроек вашего проекта (Unicode/ASCII) макрос TCHAR будет определен как WCHAR/char. И также используйте _t на основе защищенных функций, таких как _tcscpy_s, _tcscat_s и т. Д., Которые будут определены снова на основе вашего проекта. как wcscpy или strcpy. Мои 2 цента. – legends2k
Я пробовал это, получил эту ошибку: ошибка C2664: 'wcscpy': не может преобразовать параметр 2 из 'const char [8]' в 'const wchar_t *' –
@ user396483, попробовал что? Вы, очевидно, смешиваете версии str, _tcs и wcs вместе. – avakar