C++ ; vstup do súboru,ios::app,ios::out;

Programovacie jazyky, rady, poradňa...
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Hi guys,potreboval by som radu,lámem si s tým hlavu už dlhšie a nič ma nechce napadnúť,nerobím v tom dlho takže nevadí :) potrebujem poradiť so vstupom do súboru;
Mám program,v ktorom užívateľ zadá čísla a chcem,aby to uložilo do napr. test.txt ,nič problematické ,cez ios::out bez problémov..lenže chcem,aby keď užívateľ znova zapne tento program a znova začne písať čísla,tak ich pekne bude dopisovať,cez ios::out nepôjde,keďže ten by obsah test.txt z predošlého spustenia vymazal ,ide to samozrejme cez ios::app ,lenže ja keď mám v tom kóde najskôr ios::out a potom ios::app,tak pri druhom rázy mu vymaže predošlý obsah,ak sa nemýlim,tak neviem ako na to,ďakujem za rady :)
Sær
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 53
Registrovaný: 17 dec 2013, 15:10

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa Sær »

C++ official guide napísal:ios::app | All output operations are performed at the end of the file, appending the content to the current content of the file.
ios::app to spôsobovať určite nebude
Ak máš ešte pred tým zapisovanie len pomocou ios::out bez ios::app, to je koreň problému
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Vstup : 1 2
V txt súbore : 1
7274692
1
2
Dal som to len cez ios::app,vážne netuším čo je zle :P
Prílohy
Projekt.rar
(565 Bajtov) 59 stiahnutí
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

Tam by som hľadal chybu inde. Celý ten program je napísaný dosť divoko.
Napríklad už táto deklarácia globálnych prmenných je dosť brutal

Kód: Vybrať všetko

int velkost,i,znamkaMat;
int *pole=new int [i];
Čudujem sa, že ti to vôbec funguje a nepadá.

Toto je zase trocha komické

Kód: Vybrať všetko

    if (info==1)
    {
        vsetko();		
    }
    if (info==2)
    {
        vsetko();
    }
Ďalej toto

Kód: Vybrať všetko

for(int i=0;i<=(velkost-1);i++)
Neviem, kde si sa to naučil, ale napadá ma pri tom len: wtf? Veď predsa

Kód: Vybrať všetko

for(int i=0;i<velkost;i++)
To sú ale skôr kozmetické úpravy. Inak práca so súborom nevyzerá zle. Bordel ti tam robí len to nezmyselne vytvorené pole.
// jo, teraz som si všimol, že ty v každom načítaní (priechode for cyklom) otvoríš súbor, zapíšeš celé pole a zavrieš súbor. To je tiež trocha blbosť, že?
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Padá mi to :D S tými polami a pointermi to moc neviem,stačí to spraviť aj bez new a delete kľudne? Tá funkcia je ako hovoríš len taký detail...

Kód: Vybrať všetko

for(int i=0;i<=(velkost-1);i++)
Ak zadá že chce dať 3 čísla ,tj veľkosť=3 ,tak to bude pýtať 4 čísla ,pokial správne rátam....to s tým zavretím súboru som si nevšimol ani :P idem to prerobiť ,ale stále neviem kde je tá chyba,žeby bola v tom že to close je ešte vo for??? :))
//aha ,ty si myslel v tom na zápis,jasné,to som len skúšal náhodou ,že či nepomôže no,za pokus nič nedáš:D))
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

Prečítaj si ešte raz kapitolu o poliach a urob to znovu. A zatiaľ sa hviezdičkám(ukazateľom) skús vyhýbať, všetky tieto základné veci sa dajú urobiť aj bez nich.
sliziky napísal:ale stále neviem kde je tá chyba
Oprav chyby a uvidíš.
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Okej,mám to,funguje to zatiaľ na 100% ,ďakujem :)

Kód: Vybrať všetko

ofstream subor1;
			subor1.open ("matematika.txt",ios::app);
		
	int pole[i];
		for(int i=0;i<=(velkost-1);i++)
	{	
			cin >> pole[i];
			subor1 << pole[i] << endl;
	}	
			subor1.close();
	}
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

Vysvetli mi podrobne tento riadok

Kód: Vybrať všetko

int pole[i];
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Neviem na čo narážaš,normálne som si len pole vytvoril :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

Aké veľké?
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Keby som ti vedel odpovedať tak ti odpoviem :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

A prečo máš v kóde riadok, ktorý nevieš, čo robí?
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Viem že by som to asi nemal hovoriť,ale trošku som sa stratil v tom celom,čo takto skúsiť to cez vektor ma teraz napadlo?By bolo asi lepšie :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

Najprv by si mal pochopiť polia, až potom skúšaj nejaký vektor :roll: No len si ich ešte pozri... a poriadne.
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Som úplne stratený,potom mi to zas začalo niečo so vstupom do súboru vyhadzovať,dačo že subor doesn't have a name type a podobne :( :( :( :( :(
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

O dôvod viac vrátiť sa k teórií a prečítať si, o čo tam vlastne ide :)
sliziky
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 223
Registrovaný: 29 júl 2012, 13:22

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa sliziky »

Ja si akože myslím,teda som si presvedčený že viem o čo ide :) Možno sa mýlim,ale tam som mal taký problém,že keď som si vytvoril pole na začiatku tak to nešlo,jedine cez new a delete,tak som ho musel vytvoriť skoro všade :P a ja som si s týmto problémom nevedel dať rady,tak som to dopísal tam kde bolo treba(skoro všade) a potom som mal v tom bordel samozrejme :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: C++ ; vstup do súboru,ios::app,ios::out;

Príspevok od používateľa BX »

"Viem, ako to funguje, ale nešlo mi to, tak som spravil niečo, ale neviem čo a ono to šlo, tak som to rozkopíroval a potom som v tom mal bordel"
No to je teda veta... nevieš ako to funguje, len pekne študuj ;)
Napísať odpoveď