vetronog / OOP

Задания по ООП
0 stars 0 forks source link

Замечания по replace #1

Open oMystique opened 8 years ago

oMystique commented 8 years ago
    size_t textPosition = 0;
    std::string line;
    while (std::getline(fileOfInput, line))
    {
        currPosition = 0;
        textPosition = line.find(argv[3], currPosition);
        while (textPosition != string::npos) 
        {
            line.replace(textPosition, std::string(argv[3]).length(), argv[4]);
            currPosition = textPosition + std::string(argv[4]).length();
            textPosition = line.find(argv[3], currPosition);
        }
        output << line << "\n";
    }

Лучше выделить поиск и замену строки в отдельную функцию.

Тесты

На будущее - проектам не стоит давать имена, содержащие пробельные символы.

oMystique commented 8 years ago
rem Проверим пустой файл
%PROGRAM% emptystring.txt %TEMP%\empty.txt "some string" "some another string"
if %ERRORLEVEL% NEQ 1 goto err

Этот тест упадёт сразу же, ибо программа вернет нулевой код возврата. Следует доработать тесты. Ссылки на материалы выше. Пока k=0.7