хуже чем Пугачева сегодня.
int main(int argc, const char * argv[]) {
std::string space_split = "Split this string by spaces";
std::vector<std::string> splitted;
std::string temp {};
for(char item : space_split) {
temp.push_back(item);
if(item == ' '){
splitted.push_back(temp);
temp = {};
std::cout << std::endl;
}
}
splitted.push_back(temp);
for(std::string item : splitted) {
std::cout << item << std::endl;
}
return 0;
}
Не волнуйся, эта проблема не по силам даже опытным С++ программистам...
https://t.me/supapro/846275 Вот, можешь взять любое из этого(и ниже есть)
splitted = space_split.split()
Там не хватает буста с тримом
Ну, что поделать. Можешь дописать
Нет, я занят важным делом — ищу, на чем написан EHT. Нидайбох не на питоне >_<
Телескоп горизонта событий, который сфоткал аккрецию на чёрную дыру
split , ranges v3
Это в boost?
Это и в стандарте. Там выше я тебе кинул решения с ренжами
ranges в с++20
size_t lastSpace = 0; for (size_t i = 0; i < str.size(); ++I) { if (str[i] == ‘ ‘) { splitted.push_back(str.substr(lastSpace, i); lastSpace = i; } }
В стандарте
Они не работали же
Твои работали. Моё, кстати, для просто разделения тоже сработает
Твоё было хаком с цппреференс, они там хитрым образом запрятали недоделку
Не, моё я сам написал. На цппрефе до такого не дошли :)
Сам себя не похвалишь - никто не похвалит
Изъяняйся по-русски плиз.
Лучше брать ренжи Ниблера
THEMIS is written in C++ and parallelized via the Message Passing Interface (MPI) standard. THEMIS implements a differential evolution MCMC algorithm, and it utilizes parallel tempering based on the algorithm described in Nelson et al. (2014) and Braak (2006). Да что они свои телескопы всё на плюсах да на плюсах пишут..
Они в деле сплита не сильно лучше
я про ренжи в целом
Ну тут да
https://t.me/supapro/837443
Меня цитируют :3
Где ответ на сой вопрос?)
А вон Азерат выше, у него лучше спросите. я на 17 с Ниблером работаю
Не работает :( int main(int argc, const char * argv[]) { size_t lastSpace = 0; std::string space_split = "Split this string by spaces"; std::vector<std::string> splitted; for (size_t i = 0; i < space_split.size(); ++i) { if (space_split[i] == ' ') { splitted.push_back(space_split.substr(lastSpace, i)); lastSpace = i; } } for(std::string item : splitted) { std::cout << item << std::endl; } return 0; } Output: Split this stri string by spaces by spaces
.substr(lastSpace, i - lastSpace)
Ой там по моему вторым аргументом идёт не позиция конца, а количество
Теперь вывод такой: последнее слово пропало, и все строчки начинаются с пробела. Split this string by Program ended with exit code: 0
Может ты сама уже доделаешь?
Блин ну не все же мне тебе объяснять
Ты же пользуешься дебаггером?
Не ну что с твоим кодом не так понятно. Он бы работал, будь последним символом строки пробел
Я умею им пользоваться
Обсуждают сегодня