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

<fstream> Program otwiera plik którego nie ma ?!

Ostatnio zmodyfikowano 2013-12-30 15:24
Autor Wiadomość
Zdziwiony
Temat założony przez niniejszego użytkownika
<fstream> Program otwiera plik którego nie ma ?!
» 2013-12-06 17:05:46
Witam mam taki oto kod:
C/C++
if( komenda == "utworz" )
{
    string nazwa;
    cout << "Podaj nazwe pliku do utworzenia (oraz opcjonalnie sciezke gdzie ma sie on znajdowac)\n";
    cin >> nazwa;
    ofstream plik( nazwa.c_str() );
    plik.close();
    plik.open( nazwa.c_str(), std::ios::in | std::ios::out );
    if( plik.good() == true )
    {
        //operacje na pliku
        cout << "Plik zostal pomyslnie utworzony!" << std::endl;
    } else cout << "Nie mozna utworzyc pliku! Moze nie masz do tego uprawnien?" << std::endl;
   
}

Podany wyżej kod w założeniu ma utworzyć plik, po czym go otworzyć sprawdzając w ten sposób, czy istnieje, jednak program nie działa po mojej myśli, bo po wpisaniu ścieżki gdzie plik ma się utworzyć czyli np. C:\plik (jak wiadomo program nie ma uprawnień, żeby plik tam utworzyć, więc go nie tworzy, jednak w konsoli wywala komunikat "Plik zostal pomyslnie utworzony!" (czyli plik został otwarty..., ale jak to możliwe skoro tego pliku tam nie ma ?!) Czy popełniłem tu jakiś błąd ?

Pozdrawiam.


PS:
Uwaga odkryłem baardzo dziwną rzecz
A mianowicie:
Jeśli do utworzenia pliku wpisze coś takiego
C:\plik (wyskoczy ze plik pomyslnie utworzony chociaz go nie ma -.-)
C:\plik.exe (program zadziała poprawnie i wyswietli ze nie mam uprawnien do utworzenia pliku)

Więc o co tu chodzi ?!


EDIT2:
Nikt nic nie pisze... Czyli kod jest OK ? :O
P-98514
Zdziwiony
Temat założony przez niniejszego użytkownika
» 2013-12-07 20:39:02
@REFRESH!

Na prawdę nikt nie wie gdzie jest problem ?? Co źle zapisałem ?

EDIT:

Dobrze to może inaczej....
Ten kod jest poprawny czy nie ?


Czemu nikt nic nie odpisuje ? Zatkało Was czy co ? :P
P-98641
leon_w
» 2013-12-08 12:35:07
u mnie dziala normalnie. Jeśli plik się nie utworzy, wypisuje odpowiedni komunikat.
P-98681
Zdziwiony
Temat założony przez niniejszego użytkownika
» 2013-12-08 21:18:35
A próbowałeś utworzyć na dysku C ?

Bo jak ja wpisze C:\plik
wywali że się utworzył chociaż go tam nie ma...

A jak dam:
C:\plik.exe

to wtedy wypisuje że nie może...

Więc wtf ? Wina windowsa ?
P-98759
czosnek17
» 2013-12-08 21:54:39
Może plik się tworzy(i tam program go otwiera), ale nie tam gdzie trzeba?

Przeczytaj część Ścieżka do pliku
» Kurs C++ » Poziom 4Podstawy obsługi plików lekcja
Spróbuj użyć w ścieżce \\ albo /, a nie \
P-98768
leon_w
» 2013-12-08 22:23:54
A próbowałeś utworzyć na dysku C ?
Tak. i w "c" nie chciało utworzyć pliku i był komunikat ze nie utworzono pliku. Tak samo w innym folderze zabezpieczonym przed zapisem. I nie było różnicy czy z rozszerzeniem czy nie. Było by dobrze,żeby jeszcze ktoś to sprawdził.
P-98773
Zdziwiony
Temat założony przez niniejszego użytkownika
» 2013-12-22 17:26:28
Bardzo dziwna sprawa... może to kwestia konfiguracji systemu czy coś ?
P-99853
abdi
» 2013-12-25 16:36:57
Nie no to w ogóle bez sensu, dwukrotnie próbujesz utworzyć plik.
P-100110
« 1 » 2
  Strona 1 z 2 Następna strona