Problem z otwarciem pliku

0

Mam problem z otwarciem pliku moj kod wyglada tak

#include<fstream>
#include<iostream>
using namespace std;

int main()
{
	ifstream plik("dane.txt");
	int x,ile=0;
	if(plik.good())
	{
		plik >> x;
		ile++;
	}
	else cout << "blad";
	cin.sync();
	cin.get();
	return 0;
} 

Nie wiem czemu to nie działa, plik dane.txt umieszczam obok pliku cpp

0

wyswietla mi blad, plik sie nie otwiera poprawnie ale nie wiem dlaczego..

0

Plik musi być położony w katalogu roboczym. Jeśli klikasz 2x na ikonkę ".exe" to katalogiem roboczym domyślnie jest miejsce w którym znajduje się plik ".exe". Więc:

  1. możesz umieścić plik obok "*.exe"
  2. możesz uruchamiać program ze zmienioną ścieżką roboczą, możesz również zmieniać ścieżkę roboczą podczas uruchamiania
  3. możesz skorzystać z argv[0] podanego funkcji main który zawiera pełną ścieżkę do pliku "*.exe"
  4. możesz przechowywać plik w jakiejś innej ścieżce np. w katalogu użytkownika

Poza tym

Ryszardek napisał(a):
	if(plik.good())
	{
		plik >> x;
		ile++;
	}
	else cout << "blad";
	

Lepiej zrobić tak:

	if(plik >> x) {
		ile++;
	} else {
		cout << "blad";
	}

wtedy sprawdzisz czy plik jest good zarówno przed jak i po odczycie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1