Problem : Znajdź w pliku .txt znak "M1" oraz "mode" to co jest pomiędzy nimi skasuj i zastąp innym tekstem
-
Tak jak w tytule potrzebuje by program wyszukał tekst miedzy M1 oraz mode usunął go a nastepnie zastąpił nowym tekstem (QString danezapisane).
Być może to banał ale jestem dosyć zielony w programowaniu :/Moj kod
void MainWindow::on_pushButton_5_clicked()
{
QString inputfileName="C:/Users//Desktop/wyjscie.txt";
QFile inputfile(inputfileName);
QTextStream cout(stdout);
QString danezapisane;
cout<<"zapisywanie do pliku"<<endl;
if (!inputfile.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream danedobre(&inputfile);
while(not danedobre.atEnd()){
danezapisane=danedobre.readAll();
QString text(danezapisane);
cout<<danezapisane<<endl;
}
}
QString outputfileName="C:/Users/*/Desktop/model.txt";
QFile outputfile(outputfileName);if (!outputfile.open(QFile::WriteOnly|QIODevice::Text )) { QMessageBox::warning(this, tr("Recent Files"), tr("Cannot write file %1:\n%2.") .arg(outputfileName) .arg(outputfile.errorString())); return; } outputfile.close();
}
-
A jaki masz konkretny problem?
Kompiluje Ci się w ogóle to ?
Bo widze tutaj namiastke operacji na plikach, ale próby kodu problemu już nie..A poza tym warunek w pierwszym if powinien byc odwrotny - jesli nie otworzy pliku to powinien wypisac jakis blad i return, a wszystkie operacje ktore sa w bloku powinny byc przy warunku odwrotnym, czyli jak plik otworzy sie poprawnie.