Moikka moi...
Minä olen tässä kokeillut C-ohjelmointia ja keksin seuraavanlaisen koodin. Tarkoitus olisi luoda tiedosto, johon sitten teksti "moikka!". Tämän jälkeen suljen tiedoston.. Laitanko virheilmoitukset alle vielä, vai onko tämä ihan simppeli juttu...
#include <stdlib.h> main() { char = a,tiedosto; a = "moikka!"; tiedosto = fopen(jotain.txt, "w"); fprintf(tiedosto, a); fclose(); }
Onhan tuossa jonkun verran korjattavaa.
Ilmeisesti rivillä char = a,tiedosto; on tarkoituksena esitellä muuttujat a ja tiedosto. Esittelyssä ei kuitenkaan käytetä = -merkkiä ja a:n pitäisi olla tyypiltään char * ja tiedoston pitäisi olla tyypiltään FILE *
Merkkijonot täytyy laittaa lainausmerkkeihin (tuo tiedostonimi jotain.txt)
Lisäksi tarvitset stdio.h
fcloselle pitää kertoa minkä tiedoston haluat sulkea.
Eli tässä korjattuna:
#include <stdlib.h> #include <stdio.h> main() { char * a; FILE * tiedosto; a = "moikka!"; tiedosto = fopen("jotain.txt", "w"); fprintf(tiedosto, a); fclose(tiedosto); }
Mitä "FILE" tarkoittaa? Entä miks muuttujat ilmoitetaan *-merkillä?
Muuttujia ei lähtökohtaisesti ilmoiteta * merkillä, vaan * tarkoittaa että kyseessä on osoitin.
Eli esim. char a tarkoittaisi että muistipaikassa a on yksi merkki. char * a taas tarkoittaa, että muistipaikassa a on osoitin muistiin, josta voi löytyä yksi tai useampi char.
FILE on tietotyyppi, joka on määritelty tuolla stdio.h:ssa. Erinäiset stdio.h:ssa määritellyt funktiot, kuten fopen, fprintf ja fclose käyttävät tuota kyseistä tietotyyppiä.
Mitem olisi jonkun C-oppaan lukeminen? Jos kysyt jokaisen asian erikseen niin menee aika paljon aikaa sulta ja vastaajilta :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.