Per favore, come posso scoprire la lunghezza di una variabile di tipo wchar_t*
in C++?ottenere la lunghezza di `wchar_t *` in C++
esempio qui sotto:
wchar_t* dimObjPrefix = L"retro_";
Vorrei scoprire quanti caratteri dimObjPrefix
contiene
Per favore, come posso scoprire la lunghezza di una variabile di tipo wchar_t*
in C++?ottenere la lunghezza di `wchar_t *` in C++
esempio qui sotto:
wchar_t* dimObjPrefix = L"retro_";
Vorrei scoprire quanti caratteri dimObjPrefix
contiene
sizeof (wchar_t);
Edit:
ho appena notato il tag string
. Se volete conoscere la dimensione di una stringa wchar_t
(wchar_t *
), che si desidera utilizzare wcslen(3)
:
size_t wcslen (const wchar_t *ws);
Forse sizeof (wchar_t), o wchar_t x seguito da sizeof x? –
@Joseph, mi ci è voluto molto tempo per capire cosa intendevi, ho modificato. Grazie. Dispiace per la confusione. –
Per quanto riguarda sizeof(), né K & R né l'ANSI Razionale danno una spiegazione a questa idiosincrasia delle parentesi; qualche lettore SO capita di saperlo? –
Supponendo che si desidera ottenere la lunghezza di null stringa terminata stile C, si hanno due opzioni:
#include <cwchar>
e utilizzare std::wcslen (dimObjPrefix);
,#include <string>
e utilizzare std::char_traits<wchar_t>::length (dimObjPrefix);
.
Intendi un singolo carattere o una stringa? –
Scusate, avrei dovuto renderlo più chiaro. Volevo il numero di personaggi. wcslen sembra fare ciò che voglio in base a http://msdn.microsoft.com/en-us/library/78zh94ax(VS.71).aspx Grazie a tusbar. – Jacob
@Jacob: un 'wchar_t' non è una stringa e non ha una lunghezza. Presumo che tu stia chiedendo di 'wchar_t *'. Quegli asterischi non sono solo per lo spettacolo, lo sai. Non possono essere omessi senza cambiare il significato del codice (e la domanda) – jalf