вставьте десятичные значения целого числа как их представление ASCII в вектор случайной работы

I have an int and I would like to convert it to a vector.

Например:

std::vector MyVct;
int i = 2046;

Таким образом, я хочу вектор размера 4, который будет иметь:

MyVct[0] = '2';   
MyVct[1] = '0';   
MyVct[2] = '4';   
MyVct[3] = '6';  

Как я могу сделать это большей частью efficent способа?

2
nl ja de
Попробуйте делятся и остаток.
добавлено автор Kerrek SB, источник
Почему у MyVect есть differnt знаки, размещенные в [0]? Don' t векторы используют popback и pushback?
добавлено автор turnt, источник
Да я думал об этом, но УЖАСНОМ пути
добавлено автор Boris Raznikov, источник
Да, но можно получить доступ к ним. Думайте о, что я хочу а не grammer вектора, я могу использовать в методе, если это имеет значение для вас.
добавлено автор Boris Raznikov, источник

2 ответы

Один удобный способ состоял бы в том, чтобы использовать станд.:: to_string:

auto s1 = std::to_string(i);
std::vector vec1(s1.begin(), s1.end());
3
добавлено
+1. Но необходимо отметить где-нибудь, тот станд.:: to_string является C++ 11 особенностей, AFAIK.
добавлено автор maverik, источник
@maverik: Это действительно. Однако, если я ' m не ошибочный согласие состоит в том, что, если иначе не определено, простой "C++" означает "текущую версию стандарта".
добавлено автор Jon, источник

Сделайте это:

if (n == 0) { MyVct.push_back('0'); }

else { for ( ; n; n /= 10) { MyVct.push_back('0' + (n % 10)); } }

std::reverse(MyVct.begin(), MyVct.end());
2
добавлено
@jrok: OP был изменен, но да, необходимо полностью изменить его, я предполагаю.
добавлено автор Kerrek SB, источник
pro.cxx
pro.cxx
3 049 участник(ов)

C/C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств 2. No Ads, offtop, flood Объявления о вакансиях и евенты - в лс @AlexFails https://t.me/ProCxx/259155

supapro.cxx
supapro.cxx
1 925 участник(ов)

Чат для тех, кто немного знает C++, простые вопросы по реализации, синтаксису и ide – сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac

C++ Russia
C++ Russia
384 участник(ов)

Сообщество разработчиков C++ в Telegram.

cxx.Дискуссионная
cxx.Дискуссионная
298 участник(ов)

это не двач, общайтесь вежливо; разговор на почти любые темы; Не согласны с баном? В лс @AlexFails, @ivario

C++ для маленьких и тупых
C++ для маленьких и тупых
105 участник(ов)

Лоу левел (по среднему IQ участников) чатик ExtremeCode @extremecode Флудилка @extremecode_rest