için "wchar_t *" uzunluğunu elde edin Lütfen, C++ 'da wchar_t*
türünde bir değişkenin uzunluğunu nasıl bulabilirim? AşağıdaC++
kod örneği:
wchar_t* dimObjPrefix = L"retro_";
Ben dimObjPrefix
için "wchar_t *" uzunluğunu elde edin Lütfen, C++ 'da wchar_t*
türünde bir değişkenin uzunluğunu nasıl bulabilirim? AşağıdaC++
kod örneği:
wchar_t* dimObjPrefix = L"retro_";
Ben dimObjPrefix
sizeof (wchar_t);
Düzenleme içerir kaç karakter öğrenmek istiyorum:
Sadece string
etiketi fark . Bir wchar_t
dize (wchar_t *
) boyutunu bilmek istiyorsanız, wcslen(3)
kullanmak istiyorum:
size_t wcslen (const wchar_t *ws);
Belki sizeof (wchar_t) veya wchar_t x ve onu takip x x? –
@Joseph, ne demek istediğimi anlayabilmem uzun zaman aldı, ben düzenledim. Teşekkür ederim. Karışıklık için özür dilerim. –
Sizeof() ile ilgili olarak, K & R veya ANSI Gerekçesi, parantez ile ilgili bu özel durum için herhangi bir sebep vermez; SO okuyucunun bildiği bir şey var mı? –
Eğer iki seçeneğiniz C tarzı dizesi sonlandırılmış boş uzunluğunu almak istiyorum varsayarsak:
#include <cwchar>
ve std::wcslen (dimObjPrefix);
kullanın#include <string>
ve std::char_traits<wchar_t>::length (dimObjPrefix);
kullanın.
Tek bir karakter mi yoksa bir dizgeyi mi kastediyorsunuz? –
Özür dilerim, bunu daha net yapmalıydım. Karakterlerin sayısını istedim. wcslen, http://msdn.microsoft.com/en-us/library/78zh94ax(VS.71).aspx 'a göre istediğimi yapıyor gibi görünüyor. Teşekkürler tusbar. – Jacob
@Jacob: a 'wchar_t' bir dizgi değildir ve uzunluğu yoktur. 'Wchar_t *' hakkında sorduğunuzu varsayıyorum. Bu yıldızlar sadece gösteri için değil, biliyorsun. Kodun anlamını değiştirmeden dışarıda bırakılamazlar (ve soru) – jalf