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

Problem z zapisem do pliku.

Ostatnio zmodyfikowano 2013-04-29 18:09
Autor Wiadomość
kanam99
Temat założony przez niniejszego użytkownika
Problem z zapisem do pliku.
» 2013-04-28 18:43:35
Witam. Mam taki programik:
C/C++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
    int m;
    string znak;
    fstream plik;
    plik.open( "C:\\Users\\Michał\\C++\\licznik\\bin\\Debug\\liczba.txt", ios::in | ios::out );
   
    if( plik.is_open() == true )
         cout << "Plik otwarto" << endl;
    else
    {
        cout << "Cos pieprzlo" << endl;
        return 0;
    }
    plik >> m;
    cout << "Podaj 'w' dla dodania 1, podaj 'x' dla wyjscia" << endl;
    while( true )
    {
        cout << "Podaj 'w' dla dodania 1, podaj 'x' dla wyjscia" << endl;
        cin >> znak;
        if( znak == "w" )
             m++;
       
        if( znak == "x" )
        {
            plik << "";
            plik << m;
            cout << plik << endl;
            plik.close();
            cout << "Dowidzenia :D";
            return 0;
        }
        if( znak != "x" & znak != "w" )
             cout << "Zly znak" << endl;
       
        plik << "";
        plik << m;
    }
}

Problem polega na tym, że program nie chce zapisywać liczby do pliku. Program otwiera plik (dowodem komunikat
if( plik.is_open() == true )
), pętla się odpala, sprawdzanie klawiszy działa dobrze, tylko gdy wyłączam program, w linicje
cout << plik << endl;
 program wypisuje zero i w pliku liczby.txt też nic nie ma. Plik nie jest chroniony przed zapisam, program odpalam z uprawnieniami admina, podana jest dobra ścieżka. Naprawdę nie wiem co robić. Proszę o pomoc i życzę miłej niedzieli :)
P-81397
kejkun
» 2013-04-28 18:55:23
nie jestem eskpertem, ale sprobuj
uzyc:
C/C++
plik1.open( "e:/tj.txt", ios::in );
plik2.open( "e:/klucze1.txt", ios::in );
zapis.open( "e:/wynik4a.txt", ios::out );
gdzie
zapis
w :
C/C++
ofstream zapis, zapis2;

bo u Cb widze bardziej tylko samo otwarcie pliku.

i na koncu gdzies cos  w stylu:
C/C++
zapis2 << lit;
P-81399
pekfos
» 2013-04-28 18:57:29
Jak już, to wystarczy użyć ścieżki względnej. 'ł' w ścieżce może powodować problemy.
P-81401
kejkun
» 2013-04-28 18:58:49
no to też ale np.
czy u kolegi nie powinno być  przede wszystkim
C/C++
ofstream zapis;
skoro chce zapisywac?
P-81403
kanam99
Temat założony przez niniejszego użytkownika
» 2013-04-28 19:03:26
@Kejkun Ale na początku muszę też odczytać dlatego robię obiekt
fsteram
.
@Pekfos Czyli jakiej? Dodam, że plik liczba.txt jest w tym samym folderze co program (w formie .exe).
P-81406
pekfos
» 2013-04-28 19:05:23
@Pekfos Czyli jakiej? Dodam, że plik liczba.txt jest w tym samym folderze co program (w formie .exe).
Więc jako ścieżkę podaj samą nazwę pliku.
P-81407
kejkun
» 2013-04-28 19:05:47
no widze,
ale nie rozumiem co stoi Ci na przeszkodzie jednoczesnie odczytac za pomoca
C/C++
fstream
i zapisac za pomoca
C/C++
ofstream
  ?
poza tym nie mozesz sobie zapisac do innego pliku ?
P-81408
pekfos
» 2013-04-28 19:07:41
no widze,
ale nie rozumiem co stoi Ci na przeszkodzie jednoczesnie odczytac za pomoca
fstream
 i zapisac za pomoca
ofstream
?
poza tym nie mozesz sobie zapisac do innego pliku ?
Jakie to ma znaczenie?
P-81409
« 1 » 2
  Strona 1 z 2 Następna strona