Удаление строки из std::string

Рейтинг: 0Ответов: 0Опубликовано: 26.02.2023

Пытаюсь удалить комментарий из строки типа std::string но удаляется и часть того - чего я и не планировал удалять

std::string Code = "int as = 25;\nint aa = 1;\n//hello world!\nstring str = \"stroka\";";
size_t code_pos = 0;
std::vector<size_t> str_del;
std::vector<size_t> end_del;

while (Code.find("//", code_pos) != Code.npos)
            {
                size_t start_comm = Code.find("//",code_pos);
                size_t end_comm = Code.find_first_of('\n', start_comm);
                str_del.push_back(start_comm);
                end_del.push_back(end_comm);
                code_pos = end_comm;
                std::cout << "\nDEL("+Code.substr(start_comm, end_comm) + ")\n";
            }
            for (size_t i = 0; i < str_del.size(); i++)
            {
                Code.erase(str_del[i], end_del[i]);
            }
            std::cout << Code;

В итоге удаляется это //hello world!\nstring str = \"stroka\"; А не только комментарий, в чем может быть проблема?

Ответы

Ответов пока нет.