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.