Необходимо продублировать все числа в строке, помогите исправить баг с бесконечным добавлением первого найденного числа
void repeatElem(std::wstring str) { // Дублирование чисел.
for(int i=0;i<10;) {
int n = str.find(std::to_wstring(i));
if (n>=0) str.insert(n, std::to_wstring(i));
else i++;
}
std::wcout << std::endl << L"" << str;
}
У тебя здесь 2 вложенных итерации: 1я - по числам, 2я - по строке Вырази их явно, и всё получится. :)
Ну и кроме того, в сигнатуре ошибка. Изменения будут не видны снаружи функции. Так что нужно передавать строку по ссылке, или вернуть изменённую копию.
void repeatElem(std::wstring& str) { // Дублирование чисел.
const std::wstring number = std::to_wstring(i)
for (int i=0; i<10; ++i) {
for (int n = 0; n != std::wstring::npos && n < str.size();) {
n = str.find(number, n);
if (n != std::wstring::npos) {
str.insert(n, number);
n += 2;
}
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
1Пытаюсь вычислить текущее время видео и получаю ошибку: pts не является членом "AVStream"