У меня есть 4 целых числа:Как объединить 4 целых числа в одно целое в VC++?
int i1 = 1, i2 = 8, i3 = 0, i4 = 60;
Я хочу, чтобы объединить их и сохранить в другой переменной var1
, так что var1
будет равна 18060
. Как это сделать на C++?
У меня есть 4 целых числа:Как объединить 4 целых числа в одно целое в VC++?
int i1 = 1, i2 = 8, i3 = 0, i4 = 60;
Я хочу, чтобы объединить их и сохранить в другой переменной var1
, так что var1
будет равна 18060
. Как это сделать на C++?
Использование std::stringstream
:
int i1 = 1, i2 = 8, i3 = 0, i4 = 60, var1;
std::stringstream ss;
ss << i1 << i2 << i3 << i4;
ss >> var1;
И если вы хотите вернуть это число в число: 'int val = atoi (ss.str(). C_str());' – Catalin
'operator >>' будет делать. Я бы использовал то, что вы предложили, если бы мне пришлось использовать 'std :: ostringstream'. – LogicStuff
Мне как-то удалось пропустить эту последнюю строку. Виноват. – Catalin
Другой способ сделать это с помощью std::stoi
и std::to_string
(C++ 11)
int var1 = stoi(to_string(i1) + to_string(i2) + to_string(i3) + to_string(i4));
Как OP упоминается тег VC++ это стоит mentoining ниже:
int i1 = 1, i2 = 8, i3 = 0, i4 = 60;
CString csNumber;
csNumbers.Format(_T("%d%d%d%d"), i1, i2, i3, i4);
int yourNumber = _ttoi((LPCTSTR)csNumbers);
Немного поиска можно легко решить этот вопрос. – Luuklag
@ Luuklag: Если бы это было так просто, и вы * что-то нашли, вы могли бы показать его OP и все же указали на то, что он, очевидно, мало что искал сам. – dakab
@ dakab, в то время уже был ответ, который ссылался на нечто подобное, что я нашел, поэтому нет необходимости в этом. – Luuklag