Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Zapis do pliku nie działa

Ostatnio zmodyfikowano 2013-05-05 22:08
Autor Wiadomość
Arturr300
Temat założony przez niniejszego użytkownika
[C++] Zapis do pliku nie działa
» 2013-05-03 22:52:43
Witam.
Mam problem, o którym aż wstyd pisać. Ten kod powinien działać, a plik pozostaje NIEZMIENIONY o_O
C/C++
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
using namespace std;

string napis = "";

void main()
{
    fstream plik;
    plik.open( "tekst.txt", ios::in | ios::out | ios::app );
    if( !plik.good() ) { cout << "Nie udalo sie otworzyc pliku :( " << endl; exit( 1 ); }
    plik >> napis;
    napis = "testowy napis";
    plik << napis;
    plik.flush();
    plik.close();
}

Nie mam pojęcia, czemu to nie działa, więc proszę o pomoc
P-81933
mactec
» 2013-05-04 00:49:51
Jak ty zamierzasz zapisać coś do pliku to usuń to
plik >> napis;

Do wczytywania służy ifstream.
P-81936
Arturr300
Temat założony przez niniejszego użytkownika
» 2013-05-04 07:51:17
Dzięki, działa.
Do odczytu użyłem ifstream, a zapisu ofstream.
Nie ma możliwości używania jednego obiektu fstream?
P-81941
mactec
» 2013-05-04 09:45:13
Można.
P-81947
Arturr300
Temat założony przez niniejszego użytkownika
» 2013-05-04 19:34:09
Chodzi mi o to, czy nie można użyć
fstream plik;
zarówno do odczytu, jak i zapisu.
Jeżeli można, to w jaki sposób?
P-82034
mactec
» 2013-05-04 21:55:07
np.
C/C++
fstream >> string;
fstream.clear();
fstream << "tekst";
P-82052
Arturr300
Temat założony przez niniejszego użytkownika
» 2013-05-05 22:08:03
Dziękuję, dzięki funkcji clear() zapis działa. Aktualny kod:

C/C++
#include <iostream>
#include <conio.h>
#include <fstream>
#include <string>
using namespace std;

string napis = "";

void main()
{
    fstream plik;
    plik.open( "tekst.txt", ios::in | ios::out | ios::app );
    if( !plik.good() ) { cout << "Nie udalo sie otworzyc pliku :( " << endl; exit( 1 ); }
    plik >> napis;
    napis = "testowy napis";
    plik.clear();
    plik << napis;
    plik.flush();
    plik.close();
}

Zamykam :)
P-82144
« 1 »
  Strona 1 z 1