C ++ Преобразование строки (или char *) в wstring (или wchar_t *)

Для этого вопроса многие из ответов, которые я видел, неуклюжи, сложны в реализации и неэффективны, поэтому я подумал, что сделаю это, и придумаю мое собственное решение, которое всего лишь крошечный бит css и html

html,
body {
  height: 100%;
  margin: 0;
}
.body {
  min-height: calc(100% - 2rem);
  width: 100%;
  background-color: grey;
}
.footer {
  height: 2rem;
  width: 100%;
  background-color: yellow;
}
<body>
  <div class="body">test as body</div>
  <div class="footer">test as footer</div>
</body>

работает, устанавливая высоту нижнего колонтитула, а затем используя css calc для определения минимальной высоты страницы с нижним колонтитулом все еще внизу, надеюсь, что это поможет некоторым людям:)

151
задан kennytm 4 April 2010 в 07:35
поделиться

2 ответа

строка s = "お は よ う"; - ошибка.

Вы должны использовать wstring напрямую:

wstring ws = L"おはよう";
-1
ответ дан 23 November 2019 в 21:50
поделиться

Ваш вопрос недооценен. Строго говоря, этот пример является синтаксической ошибкой. Однако, вероятно, вы ищете std :: mbstowcs .

Это функция библиотеки C и работает с буферами, но вот простая в использовании идиома, любезно предоставленная TBohne (ранее Mooing Duck):

std::wstring ws(s.size(), L' '); // Overestimate number of code points.
ws.resize(std::mbstowcs(&ws[0], s.c_str(), s.size())); // Shrink to fit.
28
ответ дан 23 November 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: