2015-09-04 3 views
0

У меня есть 4 целых числа:Как объединить 4 целых числа в одно целое в VC++?

int i1 = 1, i2 = 8, i3 = 0, i4 = 60; 

Я хочу, чтобы объединить их и сохранить в другой переменной var1, так что var1 будет равна 18060. Как это сделать на C++?

+0

Немного поиска можно легко решить этот вопрос. – Luuklag

+0

@ Luuklag: Если бы это было так просто, и вы * что-то нашли, вы могли бы показать его OP и все же указали на то, что он, очевидно, мало что искал сам. – dakab

+0

@ dakab, в то время уже был ответ, который ссылался на нечто подобное, что я нашел, поэтому нет необходимости в этом. – Luuklag

ответ

4

Использование std::stringstream:

int i1 = 1, i2 = 8, i3 = 0, i4 = 60, var1; 
std::stringstream ss; 
ss << i1 << i2 << i3 << i4; 
ss >> var1; 
+0

И если вы хотите вернуть это число в число: 'int val = atoi (ss.str(). C_str());' – Catalin

+1

'operator >>' будет делать. Я бы использовал то, что вы предложили, если бы мне пришлось использовать 'std :: ostringstream'. – LogicStuff

+1

Мне как-то удалось пропустить эту последнюю строку. Виноват. – Catalin

2

Другой способ сделать это с помощью std::stoi и std::to_string (C++ 11)

int var1 = stoi(to_string(i1) + to_string(i2) + to_string(i3) + to_string(i4)); 
0

Как 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); 
Смежные вопросы