Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Save/Load

Sivun loppuun

Zakki [23.11.2007 22:03:19]

#

Miten saisin kyseisen jutun c++ ohjelmaani? c++ tiedosto pitäisi saada kirjottamaan tietoja johonkin tekstitiedostoon, ja sitten lukemaan ne myöhemmin.

Zakki [23.11.2007 23:57:35]

#

tai jos edes tietäis termiä tästä nii olis helppo hakee

Blaze [24.11.2007 00:31:21]

#

http://www.cppreference.com/cppio/index.html

Zakki [24.11.2007 14:32:49]

#

en löydä tuolta, miten se lukis ja kirjottais integereitä... onks siellä edes?

tsuriga [24.11.2007 14:44:49]

#

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).

Kray [24.11.2007 14:46:45]

#

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);

TsaTsaTsaa [24.11.2007 14:54:37]

#

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()

Zakki [24.11.2007 19:23:34]

#

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


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta