• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

dokładanie entera do każdej linii w pliku.

0 głosów
53 wizyt
pytanie zadane 11 stycznia w C i C++ przez użytkownika kroliczysyn Początkujący (400 punkty)
edycja 5 dni temu przez użytkownika kroliczysyn
Cześć!

Chciałbym porobić "dziury" w pliku tekstowym, to znaczy zmienic forme zapisu z linijki pod linijką na linijka enter linijka w całym pliku. Nawet zacząłem coś tam tworzyć, tyle, że źle. Ma ktoś pomysł jak to zaczarować?

Pozdrawiam! :)

2 odpowiedzi

+2 głosów
odpowiedź 11 stycznia przez użytkownika unknown Pasjonat (23,900 punkty)
Wczytaj zawartość pliku do jakiegoś kontenera np. vector i dopiero potem zapisuj do pliku.
+1 głos
odpowiedź 11 stycznia przez użytkownika persedi Użytkownik (860 punkty)

Witam!
Problem jest taki, że w trakcie, gdy zaczynasz zmieniać plik poprzedni tekst nie istnieje dlatego zostanie tylko pierwsza linijka, którą wczytasz zanim usuniesz całą zawartość chcąc dodać jeden enter. Moim rozwiązaniem byłoby dodać chwilowy plik, do którego skopiujesz w trakcie wywoływania programu twój plik i na końcu usuniesz.
 

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    string fraza;
    fstream plik;
    plik.open("zmiana.txt", ios::in | ios::out);
    if (!plik.is_open())
    {
        cout<<"plik nie zostal otwarty";
    } else
    {
        ifstream  src("zmiana.txt", ios::binary);
        ofstream  dst("working",   ios::binary);
        dst << src.rdbuf();
    }
    fstream plik2;
    plik2.open("working", ios::in | ios::out );
    while (getline(plik2,fraza))
    {
        plik<<fraza<<endl<<endl;
    }
    plik.close();
    plik2.close();
    remove("working");
    return 0;
}

 

komentarz 11 stycznia przez użytkownika kroliczysyn Początkujący (400 punkty)
Dzięki za odzew :)

problem jest taki, że później do tego co stworzę, będę dodawał różne bajery (projekt)

a w projekcie mam zabronione używania więcej niż jednego pliku niestety :(

Masz może inny pomysł?
komentarz 5 dni temu przez użytkownika persedi Użytkownik (860 punkty)
Możesz zawsze zapisać to w stringu :)

Podobne pytania

0 głosów
2 odpowiedzi 141 wizyt
pytanie zadane 31 października 2015 w C i C++ przez użytkownika radek024 Nałogowiec (45,460 punkty)
+3 głosów
3 odpowiedzi 113 wizyt
pytanie zadane 30 czerwca 2015 w C i C++ przez użytkownika Phobos Użytkownik (720 punkty)
0 głosów
3 odpowiedzi 199 wizyt
pytanie zadane 18 października 2015 w JavaScript, jQuery, AJAX przez użytkownika Krzycho92 Maniak (55,280 punkty)
...