Pystyiskö joku C:tä paremmin osaava kertomaan et mikä seuraavassa koodinpätkässä on vikana?
Funktion olis siis tarkotus poistaa tiedostossa oleva yksittäinen tietue ja jättää muut tietueet sinne. Kuitenkin funktio luo uuden tiedoston ja tyhjentää edellisen ja kirjoittaa tyhjennetyn tiedoston tiedot sinne uuteen tiedostoon. SIIS HUOMATKAA ET FUNKTION ALKUOSA (case 1), JONKA TARKOTUS ON TYHJENTÄÄ TIEDOSTO TOIMII; MUT case2 EI!! En käsitä mikä siinä mättää. Hermo menee!! Ohjelmana käytän MS Visual C . Toivottavasti joku truekoodari ymmärtää tästä jotain. Kiitoksia etukäteen!!
int poista(int maara)//poista funktio
{
int i,k,g, valinta;
int nappi; // muuttujien määrittely
char button;
FILE *fp_muusikot; //käytettävä tiedosto
fp_muusikot = fopen ("C:\\testi\\muusikko.txt", "w"); //tiedoston avaus kirjoittamista varten
printf ("Haluat siis poistaa tallennettuja tietoja\n\n");
printf ("Paina 1 jos haluat poistaa kaikki tallennetut tiedot\n");
printf ("Paina 2 jos haluat poistaa jonkun tietyn muusikon tiedot\n\n\n");
nappi = getch();
switch(nappi)
{
case '1' : // tyhjentää kaikki tietokannassa olevat tiedot
printf ("\n\n");
printf ("Oletko nyt aivan varma, etta haluat poistaa kaikkien muusikoiden tiedot?\n");
printf ("Paina K, jos haluat, muussa tapauksessa E\n\n");
button = getch();
switch(button)
{
case 'k' :
printf("Kaikki tiedot on poistettu tietokannasta!!!\n\n");
fprintf (fp_muusikot, ""); //tulostaa tyhjää tiedostoon,
//poistaa kaikki tiedot tiedostosta
fclose(fp_muusikot); // tiedoston sulku
printf("Paina ENTER palataksesi paavalikkoon\n\n");
break;
case 'e' :
printf ("Tietoja ei poistettu\n\n\n"); // ei poista tietoja käyttäjän niin halutessa
break;
default:
printf ("%c", BELL); //antaa äänimerkin, jos painaa virheellistä näppäintä
printf ("Painoit vaaraa merkkia\n\n");
printf ("Paina ENTER siirtyaksesi paavalikkoon\n\n");
break;
}
break;
case '2' :
FILE *fp_muusikot; //käytettävä tiedosto
fp_muusikot = fopen ("C:\\testi\\muusikko.txt", "r"); //tiedoston avaus kirjoittamista varten
for(i=0, k=1 ;i
Apuaa!!
1
422
Vastaukset 1
fopenissa "w" luo uuden tiedoston kirjoittamista varten, eli jos samalla nimellä on olemassa vanha, se tuhotaan ensin. "a" avaa tiedoston loppuun lisäämistä varten, ja "a " avaa tiedoston luettavaksi ja kirjoitettavaksi (myös loppuun). a/a :n tapauksessa tiedosto luodaan vain silloin, jos sitä ei ole ennestään. Olikohan tarkoitus käyttää a:ta w:n sijaan ?
Nykyään siis ensimmäinen fopen tuhoaa tiedoston sisällön, ja myöhemmät luvut eivät lue oikein mitään.
"return maara, g, i;" ei myöskään ole sallittu syntaksi, voit palauttaa vain yhden arvon tuossa funktiossa.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 47957
- 95943
Tiesitkö? Jorma Uotisen EX-rakas on Helena Lindgren - Nämä ovat välit nyt: "Me ollaan..."
Jorma Uotinen ja Helena Lindgren olivat avoliitossa v. 1982-1999. Pariskunta oli aikansa näyttävä julkkispari, missä i19795- 117746
Anteeksi J-mies
Anteeksi että myötävaikutin siihen että rakastuit minuun, jota et voi koskaan saada. Viimeksi kun näimme ja katselimme t100712Olet nainen ollut vaikein rasti
Eniten olet tunteitani myllännyt ja niitä kuluttanut, ja tuottanut. 🤔36633- 43631
Minä muistan
Minä muistan sinut nauravana. Sellaisena, joka sai tavallisenkin hetken tuntumaan vähän kevyemmältä, kuin huoneeseen ol45610- 19596
- 46568
Kenen viisautta on ollut laittaa tie väärällä murskeella pilalle
Kenen viisautta on ollut kun Siimeksen/Kylmänpurontie pantu pilalle kun on ajettu liian karkeaa mursketta. Rengasliikke21564- 33543
Siinä kävi mies nyt niin että tämä ämmä muuttaa ulkomaille
Vuonojen maa kutsuu, joten ei hätää. Et kuule minusta enää. 😂 Lycka till! Ämmä riittää.70533- 36532
- 25502
Mitä muuta on olemassa kuin lisääntyminen
Jos mies ei pääse lisääntymään niin mikä hänen osansa elämässä on? mitä jää jäljelle? Hän on vain muiden palvelija kok107493Ähtäri on taas TV: n ja radion ykkösuutinen
Uusi podcast on julkaistu ja on nyt kuunneltavissa. Mot on tehnyt hyvää työtä! Mikko Savola ja kepu ei ota mitään vast44486Koska Martina viettää aikaansa lapsiensa kanssa
Äiti vaan juoksee miehen perässä Tallinnassa, Lontoossa, Turussa. Kyllä oli kätilö oikeassa, kun sanoi, että ei olisi ka133477- 46471
Pahkalassa tapahtuu
Mitäs on tapahtunut yöllä pahkalan kerrostaloilla.oli poliisia ja ambulanssia taas vaihteeksi7457