• 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
60 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 (38,800 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 200 wizyt
pytanie zadane 31 października 2015 w C i C++ przez radek024 Maniak (52,670 p.)
0 głosów
3 odpowiedzi 251 wizyt
+3 głosów
3 odpowiedzi 119 wizyt
pytanie zadane 30 czerwca 2015 w C i C++ przez Phobos Użytkownik (720 p.)
Obowiązuje już zaktualizowany regulamin.

Czy wiesz, że nie musisz już odświeżać strony głównej?

Lista pytań i odpowiedzi aktualizuje się automatycznie!

38,717 zapytań

76,654 odpowiedzi

149,843 komentarzy

18,124 pasjonatów

Przeglądających: 117
Pasjonatów: 0 Gości: 117

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.

...