Prkl, demojen palauttamispvämäärä lähestyy (pe)... tehtävä:
"Luo ohjelma joka kysyy käyttäjältä etunimen, sukunimen ja puhelinnumeron ja ensimmäistä kertaa ohjelmaa käytettäessä luo BINÄÄRItiedoston puhelin.dat, jonne tiedot tallennetaan. myöhemmin ohjelmaa käytettäessä uudet tiedot lisätään edellisten perään. Varmistu siitä että puhelin.dat tulee luoduksi 1. kerralla."
Oiski tekstitiedosto ni ois helppo, mut binääritiedosto.. tein jonkilaiset väsäyksen mut sitku resurssienhallinnasta avaan sen datin ni ei siit saa mitään selvää, sellasta ihmemerkkiä on täynnä se.. jos joku osaa auttaa ni kiitos suuri jo etukäteen, vaikka sähköpostiin...
t:Timo
[email protected]
"Luo ohjelma joka kysyy käyttäjältä etunimen, sukunimen ja puhelinnumeron ja ensimmäistä kertaa ohjelmaa käytettäessä luo BINÄÄRItiedoston puhelin.dat, jonne tiedot tallennetaan. myöhemmin ohjelmaa käytettäessä uudet tiedot lisätään edellisten perään. Varmistu siitä että puhelin.dat tulee luoduksi 1. kerralla."
Oiski tekstitiedosto ni ois helppo, mut binääritiedosto.. tein jonkilaiset väsäyksen mut sitku resurssienhallinnasta avaan sen datin ni ei siit saa mitään selvää, sellasta ihmemerkkiä on täynnä se.. jos joku osaa auttaa ni kiitos suuri jo etukäteen, vaikka sähköpostiin...
t:Timo
[email protected]
Vastaukset 1
Vanhimmat
...ja palautettu. Tuli 5.
Koska tallennus on binäärimuodossa niin lukeminen myös pitää tehdä samoilla asetuksilla. Tiedosto on sillisalaattia kaikille muille ohjelmille, paitsi omallesi.
Jos määrittelet esim. char nimi[50], niin lue kanssa samoilla määrityksillä. Esimerkki tarkoitti, että olet luonut taulukon, jossa on char-merkkejä 50 kpl. Taulukon alkioihin (kirjaimiin) viitataan sitten osoittimella [*]. Kun tulee , niin lopetetaan siihen.
Malli osoittimista:
#include
#include
int main(void){
char string[50]; //varaus
char *str1 = "abcdefghi"; //varaus ja täyttö
}
Lukeminen :
#include
size_t fread(void *ptr, size_t size, size_t n, FILE *stream);
n kappaletta size pituisia datapaketteja
*stream paikasta *ptr paikkaan:
Löytyy miljoonia esimerkkejä netistä.
Jos avataan olematonta tiedostoa, tulee virheilmoitus. Käytä tätä triggerinä ja luo silloin tiedosto.
if (open *stream) else (luo_tiedosto)...
Siitä se lähtee...