Miten saisin kyseisen jutun c++ ohjelmaani? c++ tiedosto pitäisi saada kirjottamaan tietoja johonkin tekstitiedostoon, ja sitten lukemaan ne myöhemmin.
tai jos edes tietäis termiä tästä nii olis helppo hakee
en löydä tuolta, miten se lukis ja kirjottais integereitä... onks siellä edes?
Jos tahot tallentaa muuttujien tyypitkin niin haet ilmeisestikin serialisointia. Mureakuhasta löytyi viesti, jossa on jonkinmoinen valmis toteutus (taitaa olla tuohon ongelmaan räätälöity, että joutunee muokkaamaan).
Mitä tarkoitat? Jos haluat tallentaa tiedostoon integerejä, eikä sen täydy olla luettavissa numeroina, kirjoita tiedostoon suoraan sen muotoiset merkit:
FILE *fpt; fpt=fopen(tiedosto,"w"); fprintf(fpt,"%c",1);//kirjoittaa tiedostoon merkin, jonka ascii-arvo on 1 fclose(fpt);
Lukeminen:
FILE *fpt; fpt=fopen(tiedosto,"r"); printf("%d",fgetc(fpt));//Lukee tiedostosta merkin ja kirjoittaa sen numeroarvon näytölle fclose(fpt);
Tai sitten virroilla näin:
#include <fstream> // ... string tiedosto = "pla.txt"; // kirjoittaminen ofstream virta(tiedosto.c_str()); virta << "1"; virta.close(); // lukeminen ifstream virta(tiedosto.c_str()); virta >> muuttuja; // Tämä lukee yhden "sanan", kokonaisen rivin voi lukea // getline(virta, stringi)-operaatiolla ja yksittäisen // merkin vastaavasti get-operaatiolla. virta.close()
Jotenkin sain väsättyä ton Blazen antaman sivun avulla seuraavan koodin, joka kirjottaa johonkin tiedostoon jotain, ja sitten hakee sen sieltä.
#include <iostream> #include <fstream> #include <cstring> using namespace std; int main() { string a; ofstream moi("moikka.txt"); cout << "Out: "; cin >> a; moi << a; //kokeilin tätä, ja sattumalta toimi ifstream jee("moikka.txt"); cout << "\n\nIn: "; jee >> a; //samoin tätä cout << a; moi.close(); jee.close(); cin >> a; }
Jos sitten tallentaisin tonne moikka.txt:iin paljon stringejä, niin miten voisin hakea sieltä jonkun tietyn stringin?
Sitten myös, että miten saan tonne laitettua enemmän ku yhen sanan, ku kirjotan vaik "olipa kerran muumipeikko", tekstitiedostoon tulee vain "olipa". saan getline()llä koko rivin kyl tekstitiedostosta, eli onko siis olemassa mitään "putline()"ä? :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.