Zdravim. Jsem začátečník v programování v C++ a narazil sem na jeden problem. pouzivam knihovnu string a textove retezce mam typu string, ale nevim jak mam string vepsat do souboru (.txt). Kdyz pouziju Ceckovej prikaz fprintf(f, "%s\n", pom->VratNazev()); , tak se mi do souboru ulozi hodnoty (null). Nevite jak to mam udelat aby mi to ukladalo hodnotu promeny typu string? Predem dik
Fórum › C / C++
Tisk do souboru, datový typ string
michi
Jestli je typem string myšlen std::string[1], prostě použij metodu c_str()[2], která vrací const char* reprezentaci instance. Anebo lépe používej streamy[3].
[1] http://cplusplus.com/reference/string/string/
[2] http://cplusplus.com/reference/string/string/c_str/
[3] http://cplusplus.com/reference/iostream/
Editoval bukaj_001: Pozdě.
To Quiark :
Takze pri pouziti streamu nemusim nijak otvirat ani zavirat? Zkusil sem to udelat podle toho udelat a chodi to, ale ten soubor se mi vzdy pri otevreni vymaze. Jak mam otevrit soubor treba pro cteni nebo pro zapis na konec souboru?
To michi : Samozřejmĕ, že musíš soubor otvírat/zavírat. Můžeš použít různe varianty otevření souboru, viz http://cplusplus.com/reference/iostream/ofstream/open/
On se zavře sám jakmile proměnná f (v mém příkladu) zmizí. A přemaže se ti proto, že to je standardní chování konstruktoru objektu ofstream bez dalšího parametru. Když použiješ variantu s parametrem nebo odkazovanou metodu open, můžeš si to nastavit podobně jako u fopen.
Tak tisk do souboru uz sem vyresil. Ale ted mam problem pri nacitani, nevim jak mam pouzit eof()... zkousel sem to timto zpusobem:
fstream f;
f.open("SeznamSkladeb.txt", fstream::in | fstream::app);
while (ios::eof(f)){
}
f.close();
ale hlasi mi to chybu ze eof nemuze mit jeden argument nebo tak neco.Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Datový typ — založil Rade.k
Dátový typ — založil zonda
Datový typ v tabulce — založil LiDr
Špatný datový typ? — založil Díkydíky
Datový typ real - spěchá — založil Honza
Moderátoři diskuze