Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Подскажите кто может помочь или написать программу для работы со строками в файле

Здравствуйте. Мне нужно что бы вы подсказали или написали скрипт или программу что бы она открывала файл в текстовом редакторе и выполняла следующие действия:
1. переходила к строке, например такой:
district_bdoe_01_suburbs: "Suburban Housing District" <"Пригородный жилой район"> #NT!
2. удаляла весь текст начиная с первых ковычек " до знака <
3. затем переходила к знаку > и тоже его удаляла
4. затем переходила к следующей строке и делала всё тоже самое что и в пунктах 1,2,3
и так до конца все строк в файле пока они не закончатся
5. в конце работы написала финиш (5 пункт не обязателен, но желательно что бы был)
Кто может помочь? Спасибо.

По дате
По рейтингу
Аватар пользователя
Просветленный
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
 #include <iostream> 
#include <fstream> 
#include <string> 
 
void processFile(const std::string& inputFilePath, const std::string& outputFilePath) { 
    std::ifstream inputFile(inputFilePath); 
    std::ofstream outputFile(outputFilePath); 
     
    if (!inputFile.is_open() || !outputFile.is_open()) { 
        std::cerr << "Ошибка при открытии файла." << std::endl; 
        return; 
    } 
 
    std::string line; 
    while (std::getline(inputFile, line)) { 
        size_t startQuotePos = line.find('"'); 
        size_t endQuotePos = line.find('<'); 
         
        if (startQuotePos != std::string::npos && endQuotePos != std::string::npos) { 
            line.erase(startQuotePos, endQuotePos - startQuotePos); 
        } 
 
        size_t greaterThanPos = line.find('>'); 
        if (greaterThanPos != std::string::npos) { 
            line.erase(greaterThanPos, 1); 
        } 
 
        outputFile << line << std::endl; 
    } 
 
    inputFile.close(); 
    outputFile.close(); 
 
    std::cout << "Финиш" << std::endl; 
} 
 
int main() { 
    std::string inputFilePath = "input.txt"; 
    std::string outputFilePath = "output.txt"; 
     
    processFile(inputFilePath, outputFilePath); 
 
    return 0; 
}