matlas [ Legionista ]
problemy z C++ i kompilatorem
mam problem
oto tesr programu w c++;
#include <iostream>
#include <fstream>
using namespace std;
const char* PLIK="dane.txt";
const int MAX=20;
struct POZYCJA
char nazwa[MAX+1];
double ile;
;
int main()
fstream dane(PLIK, ios::in | ios::out | ios::binary);
if(!dane)
cerr << "Nie moge otworzyc " << PLIK << endl;
exit(0);
return 0;
;
ten program powinien stworzyc plik o nazwie plik.txt jednak tego nie robi wyswietla tylko ze niemozna utworzyc pliku
mam system Windows XP prof
kompilator Bodrlan Buldier 6 C++ ver Enterprise Edidtion
lgouje sie jako admin
prosze oszybka pomoc czy cos trza ustawic w tym kompilatorze czy to wina XP ze skompilowny program po wywolaniu nie tworzy pliku(oczywiscie mam wolnego 300mb).Szał mnie dopadl juz prosze o pomoc!!!!
szagrad [ XIII. STOLETÍ ]
hmmm jeśli sie nie myle ten plik.txt musi sie znajdowac w tym samym katalogu co program (przynajmniej tak wynika z twojego programu), a czy dziala to nie weim az tak biegły nie jestem a kompilatora w tej chwili nie mam.
Jesli sie myle to niech mnie ktos poprawi :)
Sya
szagrad [ XIII. STOLETÍ ]
sorki tu było to samo komp cos swiruje
Wypowiedź została zmodyfikowana przez jej autora [2004-05-11 16:14:56]
matlas [ Legionista ]
ale mi o to chodzi ze jesli nie ma pliku iuruchomie ten prgoram to jesli nie ma powinien go chyba stworzyc?????a u mnie tak sie nie dzieje
szagrad [ XIII. STOLETÍ ]
to nie wynika z tego programiku iz ma tworzyc takowy plik jesli go nie znajdzie
Wypowiedź została zmodyfikowana przez jej autora [2004-05-11 16:24:22]
matlas [ Legionista ]
to co mam dopisac zeby tak bylo tzn zeby go tworzyl jesli nie jest utworzony jeszcze????????
szagrad [ XIII. STOLETÍ ]
chyba tak
chociaz nie n a100%
void ZapiszBazeDoPlikuWykonawca()
FILE *wskPlik;
wskPlik = fopen(PlikWykonawca, "w");
if(!wskPlik)
cout<<"BLAD: Nie moge otworzyc pliku do zapisu!\n";
return;
fprintf( wskPlik, "%d\n", RozmiarOsoba);
int i;
for(i=0; i<RozmiarOsoba; i++)
.
.
.
fclose(wskPlik);
szagrad [ XIII. STOLETÍ ]
w kzdym razie jest to fragment programiku ktory robil za baze danych dla kumpla program działa heh
matlas [ Legionista ]
ale ja nie pisze w C , chodzi mi jak to zrobic obiektowo w C++!!!!!!!! jak ktos wie niech powie czemu mopj nie dizala
matlas [ Legionista ]
czekam na pomoc , wiem juz ze to wina albo kompilatora albo XP tylko proszep owiedziec ja mam ustawic borlanda buldiera albo xp zeby mi dzialal program
matlas [ Legionista ]
czekam na pomoc bo nadal nic nie moge zrobic
Voutrin [ Pretorianin ]
Niewiem czy o to chodzilo:
#include < fstream.h >
void main(void)
char nazwa[]="dane.txt";
char text[] = "jakis tam txt";
ofstream obiekt(nazwa);
if (!obiekt)
cout << "Pliku nie mozna otworzyc" << endl;
return;
obiekt << text;
obiekt.close();
Tworzy plik dane.txt, albo go otwiera i zapisuje do niego nowy tekst.
matlas [ Legionista ]
nie oto mi chodzi chodzi ze moj program jest dobrze napisany bo zywcem z ksiazki tylko problem jest w xp albo w borlandzie ic o mam poczac zebuy mi plik tworzylo bo nie tworzy a pod innym systemem i kompilatorem tak
reik [ Pretorianin ]
Niestety zabawa z fstream ma to do siebie, że nie dowiesz się co jest przyczyną błędu.
Możesz spróbować utworzyć plik podając bezwzględną lokalizację:
fstream dane("C:\mojplik.txt", ios::in | ios::out | ios::binary);
może się okazać, że w domyślnej lokalizacji nie można utworzyć pliku np. z brku praw.
Swidrygajłow [ ]
a musi byc koniecznie fstream?
w builderze jest tyle sposobow na zapis do pliku, także obiektowych, np. TMemoryStream