Entradas e saídas de dados – streaming – C++/Qt – Exemplo 03

Este exemplo tenta abrir o ficheiro “texto.txt“.

Caso tenha sucesso, substitui todas as ocorrências da palavra “ai” pela palavra “ui“.

O texto alterado é gravado no ficheiro “novotexto.txt“.

#include <QTextStream>
#include <QFile>

int main(){
    QString palavra = "ai";                 //palavra a procurar
    QString novapalavra = "ui";             //palavra a substituir
    QFile original;                         //ficheiro original para leitura
    QFile copia;                            //ficheiro destino para escrita
    QString line, new_line;                 //linha retirada do original + linha para escrita no ficheiro alterado

    original.setFileName("texto.txt");
    copia.setFileName("novotexto.txt");
    if (original.open(QFile::ReadOnly)) {
        copia.open(QFile::WriteOnly);
        QTextStream in(&original);
        QTextStream out(&copia);
        out.setCodec("UTF-8");
        in.setCodec("UTF-8");
        do {
            line = in.readLine();
            new_line = line;
            new_line.replace(palavra, novapalavra);
            out << new_line << endl;
        } while (!line.isNull());
        original.close();
        copia.close();
    }else{
        QTextStream monitor(stdout);
        monitor << "Erro ao tentar abrir " << "texto.txt" << endl;
    }
}

artigoprincipalseguinte

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s