Что самый простой путь состоит в том, чтобы преобразовать символ [] к/от tchar [] в C/C++ (мс)?

Чтобы создать свой коэффициент, вы должны предоставить свои данные и метки сезона для функции factor().

Однако, поскольку вы хотите, чтобы Spring был базовым уровнем, я считаю, что вам придется указывать уровни и метки в определенном порядке, чтобы пружина была первой:

bikeshare <- data.frame(season = 1:4)

bikeshare$seasonfactor <- factor(x = bikeshare$season,
                                 levels = c(2,3,4,1), 
                                 labels = c("spring", "summer", "fall", "winter"))

str(bikeshare$seasonfactor)
#>  Factor w/ 4 levels "spring","summer",..: 4 1 2 3

bikeshare
#>   season seasonfactor
#> 1      1       winter
#> 2      2       spring
#> 3      3       summer
#> 4      4         fall

Создано в 2019-03-03 пакетом представ (v0.2.1) sup>

Это немного сбивает с толку, потому что в seasonfactor Spring представлен 1 , но в оригинале season он представлен 2.

18
задан CrashCodes 1 October 2008 в 20:05
поделиться

5 ответов

7
ответ дан 30 November 2019 в 07:44
поделиться

Самый простой путь состоит в том, чтобы использовать макросы преобразования:

  • CW2A
  • CA2W
  • и т.д.

MSDN

10
ответ дан 30 November 2019 в 07:44
поделиться

TCHAR является определенным для Microsoft определением типа или для символа или для wchar_t (широкий символ).

Преобразование для обугливания зависит, на каком из них это на самом деле. Если TCHAR является на самом деле символом, то можно сделать простой бросок, но если это будет действительно wchar_t, то Вам будет нужна стандартная программа для преобразования между наборами символов. Посмотрите функциональный MultiByteToWideChar ()

7
ответ дан 30 November 2019 в 07:44
поделиться

Существует несколько ответов в этом сообщении также, особенно при поиске межплатформенного решения:

UTF8 к/от широкому символьному преобразованию в STL

3
ответ дан 30 November 2019 в 07:44
поделиться

, Хотя в этой конкретной ситуации я думаю, TChar является широким символом, я должен буду только сделать преобразование, если это не будет. который я должен проверить так или иначе.

if (sizeof(TCHAR) != sizeof(wchar_t))
{  .... }

прохладной вещью об этом являются оба размеры равняния, константы, что означает, что компилятор обработает (и удалит), если (), и если они равны, удалите все в фигурных скобках

3
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

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