• 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
61 wizyt
pytanie zadane 11 stycznia w C i C++ przez kroliczysyn Początkujący (400 p.)
edycja 13 stycznia przez 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 unknown Nałogowiec (39,220 p.)
Wczytaj zawartość pliku do jakiegoś kontenera np. vector i dopiero potem zapisuj do pliku.
+1 głos
odpowiedź 11 stycznia przez persedi Użytkownik (850 p.)

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 kroliczysyn Początkujący (400 p.)
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 13 stycznia przez persedi Użytkownik (850 p.)
Możesz zawsze zapisać to w stringu :)

Podobne pytania

0 głosów
2 odpowiedzi 209 wizyt
pytanie zadane 31 października 2015 w C i C++ przez radek024 Maniak (53,450 p.)
0 głosów
3 odpowiedzi 258 wizyt
+3 głosów
3 odpowiedzi 120 wizyt
pytanie zadane 30 czerwca 2015 w C i C++ przez Phobos Użytkownik (720 p.)

39,752 zapytań

78,199 odpowiedzi

153,695 komentarzy

18,798 pasjonatów

Przeglądających: 242
Pasjonatów: 22 Gości: 220

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...