Используйте std::wstring
вместо массива переменной длины C99.Текущий стандарт гарантирует непрерывный буфер для std::basic_string
.Например,
std::wstring wc( cSize, L'#' );
mbstowcs( &wc[0], c, cSize );
C ++ не поддерживает массивы переменной длины C99, и поэтому, если вы скомпилировали свой код как чистый C ++, он даже не скомпилируется.также должно быть std::wstring
.
Не забудьте установить соответствующий языковой стандарт в main
.
Например, setlocale( LC_ALL, "" )
.
Приветствия и hth.,