1

Тема: Допоможіть розбити строку на 3 змінні С++

string numberOfStudents = "120 125 70 88 93 80 55 62 118";

Ось така от строка, мені потрібно через кожні 3 числа розбити її на три змінні, тобто:

char iit[] = "120, 125, 70";
char ipnt[] = "88, 93, 80";
char ingi[] = "55, 62, 118";

Щоб в результаті вийшло щось подібно, дальше потрібно перевести ці значення в int і додати між собою. Тобто:

int sumOfIit = 88+ 93+ 80;

І так длякожної змінної

Кому не важко роз'ясність хоч, як розсплітити строку, в js це робиться за хвилину, а над цим вже кілька годин собі голову ламаю.
І якщо можна то без застосування векторів.

2

Re: Допоможіть розбити строку на 3 змінні С++

Для C++ "рідний" спосіб - це stringstream. Загоняєте туди стрічку і витягаєте, що вам треба (тільки коми доведеться руками витягати).
Можете також руками парсити (шукати наступну кому, брати substr і перетворювати на число). Також є Cшний strtok, але він змінює стрічку, там треба акуратно.

Подякували: Vitaliy.l0k1, leofun012

3

Re: Допоможіть розбити строку на 3 змінні С++

Приклад використання stringstream.

string numberOfStudent = "10 20 30 40 50 60", a, b, word;
stringstream ss(numberOfStudent);
for(int i = 0; i < 3; ++i){
    ss >> word;
    a += word + " ";
}
for(int i = 0; i < 3; ++i){
    ss >> word;
    b += word + " ";
}