Я не знаю, почему вы выделяете динамический c массив? Вы можете легко использовать операцию поиска строки класса следующим образом:
ifstream readfile("read.txt");
ofstream writefile("write.txt");
string oneline;
int mark = 0;
if (readfile.is_open())
{
while (getline(readfile, oneline))
{
for (std::size_t i{}, length{oneline.length()}; length > 1 && i != length - 1; i++)
{
if (oneline.at(i) == '/' && oneline.at(i + 1) == '/')
break;
else
if (oneline.at(i) == '/' && oneline.at(i + 1) == '*')
mark = 1;
else
if (oneline.at(i) == '*' && oneline.at(i + 1) == '/')
{
mark = 0;
break;
}
if (mark == 0)
writefile << oneline.at(i);
}
writefile << std::endl;
}
}
Конечно, это должно быть внутри вашего l oop.
Также есть утечка памяти в вашем коде: вы создаете динамический c массив каждую итерацию, не освобождая его!
Также эта строка: if(newoneline[i]=='/'&& newoneline[i+1]=='/')
вызывает неопределенное поведение (i + i будет читать newOneLine [length ]): Ваше условие l oop должно быть i < lengith - 1
.