C++ kodumda statik dizeler atamak istediğim bir TCHAR
dizilim var. TCHAR dizisine nasıl değer atanır?
TCHAR myVariable[260] = TEXT("initial value");
Her şey bu üzerinde çalışıyor
aracılığıyla kendisine bir ilk dize ayarlayın. Ancak, ne zamanTCHAR myVariable[260];
myVariable = TEXT("initial value");
o böcek gibi iki hatlarında bölmek ve bir derleyici hata veriyor:
error C2440: '=': cannot convert from 'const char [14]' to 'TCHAR [260]'
TEXT()
işlevi burada tam olarak ne istiyorsun ki? Verilen dize TCHAR
s dönüştürmek? İki çizgiyi birleştirirken neden işe yarıyor? Çalışmak için ne değiştirmek zorundayım?
karşılaştığım diğer bazı kafa karıştırıcı şey
:bunun için internet arama ettik ve ayrıca _T()
ve _TEXT()
ve __T()
ve __TEXT()
olduğunu gördük. Onlar ne için? Hangi ortamda kullanmalıyım?
+1 to avakar. Bir yan notta, proje ayarlarınıza (Unicode/ASCII) bağlı olarak WCHAR veya char yerine TCHAR kullanın, TCHAR makrosu WCHAR/char olarak tanımlanır. Ve benzer şekilde, projenize göre yeniden tanımlanacak _tcscpy_s, _tcscat_s, vb. Gibi _t tabanlı güvenli işlevler kullanın. wcscpy veya strcpy olarak ayarlar. Benim 2 kuruş. – legends2k
Bunu denedim, bu hatayı aldım: hata C2664: 'wcscpy': 'const char [8]' den 'const wchar_t *' –
@ user396483 'e parametre 2'yi dönüştüremiyor, ne denedi? Açıkçası str, _tcs ve wcs versiyonlarını karıştırıyorsunuz. – avakar