MODUULI 9
---------------------------- --------------------- #include //järjestelmän () #include ... {C ++ koodit ...} --------- ---------------------------------------- olisi muutettava: ----- -------------------------------------------- #include //käyttö C ++ kääre soittaa C funktioiden C ++ ohjelmia ... # include using namespace std; ... {C ++ koodit ...} ---------------------------------------- --------- VC ++ /VC ++ Net iostream.h (otsikon kanssa .h) ei kelpaa enää. Sen pitäisi olla C ++: otsikko niin, että se noudattaa standardia.
Vanhemmilla Borland C ++ compiler tämä toimii edelleen, mutta ei oikea enää ... ja vakio C /C ++ siirrettävyyttä ei pitäisi olla ongelma tai parempi luet Module23 klo https://www.tenouk.com/Module23.html saada iso kuva ... For C-koodit, he silti C koodit: o) ================================= ======================================== ========== ================================================== ============= //avaaminen ja sulkeminen tiedosto esimerkiksi # include # include //SUCCESS = 0, FAIL = 1 käyttäen luettelointi enum {SUCCESS, FAIL}; int main (void) {FILE * fptr; //Tiedostonimi on tkk1103.
txt ja sijaitsee //samassa kansiossa kuin tämä ohjelma char tiedostonimi [] = "tkk1103.txt"; //Aseta arvoksi Reval 0 int Reval = MENESTYS; //Testi aukko tiedosto lukemista, jos epäonnistua ... jos ((fptr = fopen (tiedostonimi, "r")) == NULL) {printf ("Ei voi avata% s. \\ N", tiedostonimi); Reval = FAIL; //Palauttaa Reval 1} //onnistuessaan tehdä ... else {printf ("avaaminen% s tiedosto onnistuneesti \\ n", tiedostonimi); //Ohjelma näyttää osoitteen, jossa //tiedoston osoitin osoittaa .. printf ("arvo fptr: 0x% p \\ n", fptr); printf ("\\ n .... tiedostojen käsittely pitäisi tehdä täällä ....
\\ n"); printf ("\\ nReady sulkea% s tiedosto. \\ n", tiedostonimi); //Sulje tiedostovirrasta ... jos (fclose (fptr) == 0) printf ("Closing% s tiedosto onnistuneesti \\ n", tiedostonimi); } //Borland ... voi poistaa seuraavia tauko ja kirjasto, //stdlib.h muita kerääjiä järjestelmä ("PAUSE"); palata Reval; } ------------------------------ Testtwo.txt ---------------- ---------------------------------- AVAUS, lukeminen, kirjoittaminen ja loppusanat FILE -------- ----------------------------------- Testaus tiedosto. Tämä tiedosto nimeltä testtwo.txt.
Avaamisen jälkeen tiedostot lukemista ja kirjoittamista, virheettömästi, sisältöä tämän tiedoston (testtwo.txt) luetaan ja ulostulo (kirjoitus) toiselle tiedosto nimeltä testone.txt ja vakiotulosteeseen (näyttö /konsoli) merkki merkiltä !!! --- HAPPY OPPIMINEN FOLKS !!! ---- ------------------------------------- -------------------------------------------------- ----- //lukeminen ja kirjoittaminen yksi merkki kerrallaan #include #include //lueteltu tietotyyppi, Success = 0, FAIL = 1 enum {SUCCESS, FAIL}; //Prototyyppi toiminto lukemiseksi ja kirjoittamista ...
mitätön CharReadWrite (FILE * FIN, FILE * fout); int main () {//julistaa kaksi tiedosto viitteitä ... KUVA * fptr1, * fptr2; //Määritellä kaksi tiedostoa nimi ... char tiedosto1 [] = "testone.txt"; char tiedosto2 [] = "testtwo.txt"; int Reval = MENESTYS; //Testata aukko tiedosto1 kirjoittamiseen .... //jos epäonnistuu .... jos ((fptr1 = fopen (tiedosto1, "W")) == NULL) {printf ("Ongelma, ei voi avata% s. \\ n ", tiedosto1); Reval = FAIL; } //Jos avaamisesta tiedosto1 kirjoitus onnistuu, //testi avaamisesta lukemiseen tiedosto2, jos epäonnistuu ...
if ((fptr2 = fopen (tiedosto2, "r")) == NULL) {printf ("ongelma, voi avata% s. \\ n ", tiedosto2); Reval = FAIL; } //Onnistuessaan avaus lukemiseksi tiedosto2 //ja kirjoitan tiedosto1 ... else {//funktiokutsu lukemista ja kirjoittamista ... CharReadWrite (fptr2, fptr1); //Sulje molemmat tiedostot ... jos (fclose (fptr1) == 0) printf ("% s lähellä onnistuneesti \\ n", tiedosto1); jos (fclose (fptr2) == 0) printf ("% s lähellä onnistuneesti \\ n", tiedosto2); } //Borland jos kootaan sen IDE ...
järjestelmä ("tauko"); palata Reval; } //Lukea kirjoittaa funktion määritelmää void CharReadWrite (FILE * FIN, FILE * flähtö) {int c; //Jos tiedoston loppuun saavutetaan, do ... kun taas ((c = fgetc (FIN))! = EOF) {//kirjoittaa tiedostoon ... fputc (C, fout); //Näyttö ruudulla ... putchar (c); } Printf ("\\ n"); } ------------------------------------ Testfour.txt ---------- --------------------------- AVAUS, lukeminen, kirjoittaminen yksi rivi merkkiä -------------- -------------------------------------- Tämä on tiedosto testfour.txt.
Tämä tiedoston sisältö luetaan rivi riviltä merkkien kunnes ei enää linja luonnetta löytyy. Sitten, se on lähtö näyttö ja myös kopioidaan tiedostoon testhree.txt. Tarkista sisältö testhree.txt tiedoston ... --------------------------------------- ------------- ------------------HAUSKAA PÄIVÄN JATKOA--------------- ---- ---------------------------------------------- --------------------------------------- //lukeminen ja kirjoittaminen yksi rivi kerrallaan # sisältää #include enum {SUCCESS, HYLÄTTY, MAX_LEN = 100}; //Toiminto prototyyppi lukea ja kirjoittaa linjaa ...
void LineReadWrite (FILE * FIN, FILE * fout); int main (void) {FILE * fptr1, * fptr2; //Tiedosto testhree.txt sijaitsee juuresta, C: //voit laittaa tämän tiedoston missä tahansa paikassa edellyttäen //annat koko polun, sama testfour.txt char tiedosto1 [] = "C: \\\\ testhree. txt"; char tiedosto2 [] = "C: \\\\ testfour.txt"; char Reval = MENESTYS; //Testi avaamalla testhree.txt tiedoston kirjoittamista, jos epäonnistua ... jos ((fptr1 = fopen (tiedosto1, "W")) == NULL) {printf ("Ongelma, ei voi avata% s kirjallisesti. \\ N" , tiedosto1); Reval = FAIL; } //Testi avaamalla testfour.
txt tiedosto lukemista, jos epäonnistua ... if ((fptr2 = fopen (tiedosto2, "r")) == NULL) {printf ("Ongelma, ei voi avata% s lukemiseen. \\ n ", tiedosto2); Reval = FAIL; } //Jos avaaminen edestakaisin kirjoittamisen ja lukemisen onnistunut, do ... else {//toiminto vaativat lukea ja kirjoittaa, rivi ... LineReadWrite (fptr2, fptr1); //Sulje molemmat tiedostot stream ... jos (fclose (fptr1) == 0) printf ("% s onnistuneesti suljettu. \\ N", tiedosto1); jos (fclose (fptr2) == 0) printf ("% s onnistuneesti suljettu.
\\ n", tiedosto2); } //Borland kuvakaappaus järjestelmä ("PAUSE"); palata Reval; } //Funktio määritelmä linja lukea, kirjoittaa ... void LineReadWrite (FILE * FIN, FILE * flähtö) {//paikallinen muuttuja ... char harrastaja [MAX_LEN]; kun taas (fgets (harrastaja, MAX_LEN, FIN)! = NULL) {//kirjoittaa tiedostoon ... fputs (harrastaja, fout); //Kirjoita seuloa ... printf ("% s", harrastaja); }} ----------------------------------------- Testsix.
txt ---- ------------------------------------------ AVAUS, lukeminen ja kirjoittaminen korttelin DATA ----------------------------------------------- Tämä on tiedosto testsix.txt. Sen sisältö luetaan ja tulostetaan sitten näyttö /konsoli ja kopioida testfive.txt tiedostoon. Lukeminen ja kirjoittaminen perustuu datalohkon. Voi olla tämä menetelmä on nopeampi kuin lukea /kirjoittaa merkki, jonka linja .....
----------------------------- ------------------ ------------------ END ------------- ------------- ------------------------------------- -------------------------------------------------- ----------- //lukeminen ja kirjoittaminen yksi lohko kerrallaan #include #include //julistaa enum tietotyyppiä, sinun tulee tämän //oppia muissa moduuli ... enum {SUCCESS, FAIL, MAX_LEN = 80}; //Toiminto prototyyppi lohkon lukemista ja kirjoittamista mitätön BlockReadWrite (FILE * FIN, FILE * fout); //Toiminto prototyyppi virheilmoitukset ...
int ErrorMsg (char * str); int main (void) {FILE * fptr1, * fptr2; //Määritellä tiedostonimet ... //tiedostoja sijainti on C: \\ Temp char tiedosto1 [] = "C: \\\\ Temp \\\\ testfive.txt"; char tiedosto2 [] = "C: \\\\ Temp \\\\ testsix.txt"; int Reval = MENESTYS; //Testi avaamalla testfive.txt tiedoston kirjoittamista, jos epäonnistua ... jos ((fptr1 = fopen (tiedosto1, "W")) == NULL) {Reval = ErrorMsg (tiedosto1); } //Testi avaamalla testsix.txt tiedosto lukemista, jos epäonnistua ...
if ((fptr2 = fopen (tiedosto2, "r")) == NULL) {Reval = ErrorMsg (tiedosto2); } //Jos avaat tiedostoja kirjoittaminen ja lukeminen on onnistunut, do ... else {//puhelutoiminto lukemista ja kirjoittamista BlockReadWrite (fptr2, fptr1); //Sulje molemmat tiedostot virtojen ... jos (fclose (fptr1) == 0) printf ("% s onnistuneesti suljettu \\ n", tiedosto1); jos (fclose (fptr2) == 0) printf ("% s onnistuneesti suljettu \\ n", tiedosto2); } Printf ("\\ n"); //Borland ...
järjestelmä ("PAUSE"); palata Reval; } //Funktio määritelmä lohko lukea, kirjoittaa void BlockReadWrite (FILE * FIN, FILE * flähtö) {int num; char harrastaja [MAX_LEN + 1]; //Mutta ei loppuun tiedoston input-tiedoston, do ... while (! Feof (FIN)) {//lukemista ... num = fread (harrastaja, sizeof (char), MAX_LEN, fin); //Liittää nollamerkki harrastaja [Num * sizeof (char)] = '\\ 0'; printf ("% s", harrastaja); //Kirjallisesti ... fwrite (harrastaja, sizeof (char), num, fout); }} //Funktio määritelmä virheilmoitus int ErrorMsg (char * str) {//näyttää virheilmoituksen ...
printf ("Ongelma, ei voi avata% s. \\ N", str); palata FAIL; } -----------------------------------------tesseven.txt------------------------------------------------------ Tämä on ensimmäinen rivi tekstiä, tesseven.txt tiedosto Tämä on toinen rivi tekstiä, tesseven.txt tiedosto tämä on kolmas rivi tekstiä, tesseven.txt tiedosto tämä on neljäs rivi tekstiä, tesseven.
txt tiedosto - -------------------------------------------------- -------------------------------------------- //Random pääsy tiedosto # include # include enum {onnistunut, epäonnistunut, MAX_LEN = 120}; //Toiminto prototyyppejä, etsiä tiedosto asennonosoittimen mitätön PtrSeek (FILE * fptr); //Toiminto prototyyppi, kerro tiedosto asennonosoitin ... pitkä PtrTell (FILE * fptr); //Toiminto prototyyppi lukea ja kirjoittaa ... mitätöidä DataRead (FILE * fptr); int ErrorMsg (char * str); int main (void) {FILE * fptr; char tiedostonimi [] = "C: \\\\ Temp \\\\ tesseven.
txt"; int Reval = MENESTYS; //Jos on jokin virhe avaamalla tiedosto lukemista ... jos ((fptr = fopen (tiedostonimi, "r")) == NULL) {Reval = ErrorMsg (tiedostonimi); } //Jos aukko on onnistunut ... else {//PtrSeek () toiminto soittaa ... PtrSeek (fptr); //Sulje tiedostovirrasta ... jos (fclose (fptr) == 0) printf ("% s onnistuneesti suljettu. \\ N", tiedostonimi); } //Borland ...
järjestelmä ("tauko"); palata Reval; } //PtrSeek () funktion määritelmää void PtrSeek (FILE * fptr) {pitkä offset1, offset2, offset3, offset4; offset1 = PtrTell (fptr); DataRead (fptr); offset2 = PtrTell (fptr); DataRead (fptr); offset3 = PtrTell (fptr); DataRead (fptr); offset4 = PtrTell (fptr); DataRead (fptr); printf ("\\ nReread tesseven.txt, satunnaisessa järjestyksessä: \\ n"); //Kertausta 2. rivi tesseven.txt fseek (fptr, offset2, SEEK_SET); DataRead (fptr); //Kertausta 1. rivi tesseven.txt fseek (fptr, offset1, SEEK_SET); DataRead (fptr); //Kertausta neljäs rivi tesseven.
txt fseek (fptr, offset4, SEEK_SET); DataRead (fptr); //Kertausta kolmas linja tesseven.txt fseek (fptr, offset3, SEEK_SET); DataRead (fptr); } //PtrTell () funktion määritelmää pitkä PtrTell (FILE * fptr) {pitkä Reval; //Kertoa fptr asema ... Reval = ftell (fptr); printf ("fptr on% ld \\ n", Reval); palata Reval; } //DataRead () funktion määritelmää void DataRead (FILE * fptr) {char harrastaja [MAX_LEN]; //Lukeminen rivi tekstin fptr asemassa ... fgets (harrastaja, MAX_LEN, fptr); //Ja näyttää tekstin ...
printf ("->% s \\ n", harrastaja); } //Virheilmoitus toiminto määritelmä int ErrorMsg (char * str) {//näyttää tämän virheilmoituksen ... printf ("Ongelma, ei voi avata% s. \\ N", str); palata FAIL; } ------------------------------------------------- ------------------------------------------- //Lukeminen, kirjoittaminen, Rewind ja binaaridataa # include # include enum {onnistunut, epäonnistunut, MAX_NUM = 5}; //Toiminnot prototyyppi ... void Datawrite (FILE * fout); mitätöi DataRead (FILE * fin); int ErrorMsg (char * str); int main (void) {FILE * fptr; //Binäärimuodossa tiedostoja ...
char tiedostonimi [] = "C: \\\\ Temp \\\\ teseight.bin"; int Reval = MENESTYS; //Testi luomiseen, avaamiseen binaaritiedoston kirjoittamiseen ... jos ((fptr = fopen (tiedostonimi, "WB +")) == NULL) {Reval = ErrorMsg (tiedostonimi); } Else {//kirjoittaa tietoja tiedostoon teseight.bin Datawrite (fptr); //Palauttaa tiedoston asennonosoitin ... Rewind (fptr); //Lukea tietoja ... DataRead (fptr); //Sulje tiedostovirrasta ...
jos (fclose (fptr) == 0) printf ("% s onnistuneesti suljettu \\ n", tiedostonimi); } //Borland järjestelmä ("PAUSE"); palata Reval; } //Datawrite () funktion määritelmää void Datawrite (FILE * flähtö) {int i; kaksinkertainen harrastaja [MAX_NUM] = {145,23, 589,69, 122,12, 253,21, 987,234}; printf ("koko harrastaja:% d-tavu \\ n", sizeof (harrastaja)); for (i = 0; i {printf ("% 5.
2f \\ n", harrastaja [i]); fwrite (& harrastaja [i], sizeof (double), 1, flähtö);}} //DataRead () funktion määritelmän mitätöi DataRead (FILE * fin) {int i; double x, printf ("\\ nReread alkaen binaaritiedoston: \\ n"); (i = 0; i {fread (& X, sizeof (double), (int) 1 , fin), printf ("% 5.2f \\ n", x);}} //ErrorMsg () funktion määritelmää int ErrorMsg (char * str) {printf ("Ei voi avata% s. \\ n", str); paluu FAIL;} --------------------------------------- testcal.
txt ----- ---------------------------------- 23 12 33 10 4 6 44 31 7 50 ------ -------------------------------------------------- --------------------------------- /* C-ohjelma laskea keskiarvo listan numeroita. * //* laskea koko tiedostosta, tuotos keskimäärin * //* toiseen tiedostoon * /# include /* Tätä exit () * /# include int main (void) {int arvo, yhteensä = 0, count = 0; /* fileptrIn ja fileptrOut ovat muuttujia tyyppiä (FILE *) * /FILE * fileptrIn, * fileptrOut; char filenameIn [100], filenameOut [100]; printf ("Anna tulo tiedostonimi (käyttö polku tarvittaessa): \\ n" ); scanf ("% s", filenameIn); printf ("Anna lähtö tiedostonimi (käyttö polku tarvittaessa): \\ n"); scanf ("% s", filenameOut); /* Avoimet tiedostot lukemista, "R" ja kirjoittaminen, "w" * /jos ((fileptrIn = fopen (filenameIn, "r")) == NULL) {printf ("Virhe avattaessa% s lukemiseen.
\\ N" , filenameIn); exit
(1); } Else printf ("Opening% s lukemiseen on OK. \\ N", filenameIn); jos ((fileptrOut = fopen (filenameOut, "W")) == NULL) {printf ("Virhe avattaessa% s kirjallisesti. \\ n", filenameOut); exit
(1); } Else printf ("Opening% s kirjoitus on OK. \\ N", filenameOut); /* Fscanf * /printf ("\\ nCalculate koko ... \\ n"); kun taas (EOF! = fscanf (fileptrIn, "% i", ja arvo)) {yhteensä + = arvo; ++ Laskea; } /* Lopussa while-silmukka * //* Kirjoita keskiarvo tiedostoon. * //* Fprintf * /printf ("Lasketaan keskimääräinen ...
\\ n \\ n"); fprintf (fileptrOut, "keskiarvo% i numeroiden =% f \\ n", count, yhteensä /(double) count); printf ("keskiarvo% i numeroiden =% f \\ n \\ n", count, yhteensä /(double) count); printf ("Check myös% s tiedoston sisältö \\ n", filenameOut); jos (fclose (fileptrIn) == 0) printf ("% s suljettu onnistuneesti \\ n", filenameIn); jos (fclose (fileptrOut) == 0) printf ("% s suljettu onnistuneesti \\ n", filenameOut); palata 0; } ------------------------------------------------- -------------------------------------------- //Uudelleenohjaus standardi virta #include #include enum {onnistunut, epäonnistunut, STR_NUM = 6}; void StrPrint (char ** str); int ErrorMsg (char * str); int main (void) {//julistaa ja määrittää osoitin merkkijono .
.. char * str [STR_NUM] = {"Ohjataan standardi virta tekstitiedosto.", "Nämä 5 riviä tekstiä ohjataan", " niin monia asioita voi tehdä, jos ymmärrät "," käsite, Perusajatus - kokeile tätä! "," -------------- DONE ---------- ---------------- "}; char tiedostonimi [] = "C: \\\\ Temp \\\\ testnine.txt"; int Reval = MENESTYS; StrPrint (str); //Luoda tiedosto, jos ei ole ja avoin kirjoittamiseen ... //jos olemassa, hävitä edellinen sisältöä ... jos (freopen (tiedostonimi, "w", stdout) == NULL) {Reval = ErrorMsg (tiedostonimi); } Else {//soittaa StrPrint () funktio ...
StrPrint (str); //Sulje vakiotulosteeseen ... fclose (stdout); } Palata Reval; } //StrPrint () funktion määritelmää void StrPrint (char ** str) {int i; for (i = 0; i //vakiotulosteeseen-näyttö /konsoli ... printf ("% s \\ n", str [i]), järjestelmä ("PAUSE");} //ErrorMsg () funktion määritelmän int ErrorMsg (char * str) {printf ("Ongelma, ei voi avata% s. \\ n", str); return FAIL;} ---------------------- -------------------------------------------------- -------------- //Osoittaa Poista () funktio # include # include void main () {//julistaa array tallentaa tiedoston nimi ...
char tiedostonimi [80]; printf ("Anna tiedostonimi poistettava:"), hankkii (tiedostonimi); //tarkista virheen ... jos (poista (tiedostonimi) == 0) printf ("Tiedosto% s on poistettu. \\ n", tiedostonimi ), muu fprintf (stderr, "Virhe poistettaessa tiedostoa% s. \\ n", tiedostonimi), järjestelmä ("PAUSE");} --------------------- -------------------------------------------------- ---------------- //käyttäminen nimetä () muuttaa tiedostonimi #include #include void main () {char oldname [80], newname [80]; printf ("Enter nykyinen tiedostonimi: "), hankkii (oldname); printf (" Anna uusi nimi tiedosto: "), hankkii (newname), jos (nimetä (oldname, newname) == 0) {printf ("% s on nimetä% s.
\\ n ", oldname, newname); } Else {fprintf (stderr, "On tapahtunut virhe uudelleennimeäminen% s. \\ N", oldname); } Järjestelmä ("PAUSE"); } ------------------------------------------------- ------------------------------------------- //Tiedoston kopiointi #include #include int file_copy (char * oldname, char * newname); void main () {char lähde [80], kohde [80]; //Haetaan lähdekoodi ja vastaanottajien nimiä printf ("\\ nAnna lähdetiedoston:"); saa (lähde); printf ("\\ nAnna kohdetiedosto:"); saa (kohde); jos (file_copy (lähde, kohde) == 0) puts ("Kopiointi onnistunut"); muu fprintf (stderr, "Virhe kopiointi"); järjestelmä ("PAUSE"); } Int file_copy (char * oldname, char * newname) {FILE * kertaiseksi, * fnew; int C; //Avaa lähdetiedosto lukemiseen binäärimuodossa jos ((taittaa = fopen (oldname "rb")) == NULL) paluu -1; //Avaa kohdetiedosto kirjoittamista binäärimuodossa jos ((fnew = fopen (newname "WB")) == NULL) {fclose (taittaa); palata -1; } //Lue yksi tavu kerrallaan lähteestä, jos tiedoston loppu //ei ole saavutettu, kirjoittaa tavu määränpäähän while
(1) {c = fgetc (taittaa); jos (! feof (taittaa)) fputc (C, fnew); muu break; } Fclose (fnew); fclose (taittaa); palata 0; } ------------------------------- Testfour.
txt --------------- --------------------- ------------------ Linux LOR! -------- ---------------- ------------ FEDORA 3, gcc XXX ----------------- --- AVAUS, lukeminen, kirjoittaminen yksi rivi merkkiä -------------------------------------- -------------- Tämä on tiedosto testfour.txt. Tämä tiedoston sisältö luetaan rivi riviltä merkkien kunnes ei enää linja luonnetta löytyy. Sitten, se on lähtö näyttö ja myös kopioidaan tiedostoon testhree.txt. Tarkista sisältö testhree.txt tiedoston ...
--------------------------------------- ------------- ------------------HAUSKAA PÄIVÄN JATKOA--------------- ---- ---------------------------------------------- --------------------------------- /*************** readline .c ************ /* Lukeminen ja kirjoittaminen yksi rivi kerrallaan * /# include # include enum {onnistunut, epäonnistunut, MAX_LEN = 100}; /* Toiminto prototyyppi lukea ja kirjoittaa linjaa ... * /void LineReadWrite (FILE * FIN, FILE * fout); int main (void) {FILE * fptr1, * fptr2; /* Tiedosto testhree.txt sijaitsee nykyisen hakemiston.
voit laittaa tämän tiedoston missä tahansa paikassa edellyttäen annat koko polun, sama testfour.txt * /char tiedosto1 [] = "testhree.txt"; char tiedosto2 [] = "testfour.txt"; char Reval = MENESTYS; /* Testi avaamalla testhree.txt tiedoston kirjoittamista, jos epäonnistua ... * /jos ((fptr1 = fopen (tiedosto1, "W")) == NULL) {printf ("Ongelma, ei voi avata% s kirjallisesti. \\ n ", tiedosto1); Reval = FAIL; } /* Testi avaamalla testfour.txt tiedosto lukemista, jos epäonnistua ... * /if ((fptr2 = fopen (tiedosto2, "r")) == NULL) {printf ("Ongelma, ei voi avata% s käsittelyyn .
\\ n ", tiedosto2); Reval = FAIL; } /* Jos avaaminen edestakaisin kirjoittamisen ja lukemisen onnistunut, do ... * /else {/* toiminto edellyttävät lukea ja kirjoittaa, rivi ... * /LineReadWrite (fptr2, fptr1); /* Sulje molemmat tiedostot stream ... * /jos (fclose (fptr1) == 0) printf ("% s onnistuneesti suljettu. \\ N", tiedosto1); jos (fclose (fptr2) == 0) printf ("% s onnistuneesti suljettu. \\ n", tiedosto2); } Palata Reval; } /* Toiminto määritelmä linja lukea, kirjoittaa. * /Void LineReadWrite (FILE * FIN, FILE * flähtö) {/* paikallinen muuttuja ...
* /char harrastaja [MAX_LEN]; kun taas (fgets (harrastaja, MAX_LEN, FIN)! = NULL) {/* kirjoittaa tiedostoon ... * /fputs (harrastaja, fout); /* Kirjoita seuloa ... * /printf ("% s", harrastaja); }} ------------------------------------------------ ---------------------------------------------- ////////////rwbinary.c////////////////FEDORA 3, gcc xxx ///////Lukeminen, kirjoittaminen, taaksepäin ja binaaridataa # include enum {onnistunut, epäonnistunut, MAX_NUM = 5}; //Toiminnot prototyyppi ...
void Datawrite (FILE * fout); mitätöi DataRead (FILE * fin); int ErrorMsg (char * str); int main (void) {FILE * fptr; //Binäärimuodossa tiedostoja ... char tiedostonimi [] = "/testo1/testo2/teseight.bin"; int Reval = MENESTYS; //Testi luomiseen, avaamiseen binaaritiedoston kirjoittamiseen ... jos ((fptr = fopen (tiedostonimi, "WB +")) == NULL) {Reval = ErrorMsg (tiedostonimi); } Else {//kirjoittaa tietoja tiedostoon teseight.bin Datawrite (fptr); //Palauttaa tiedoston asennonosoitin ... Rewind (fptr); //Lukea tietoja ... DataRead (fptr); //Sulje tiedostovirrasta ...
jos (fclose (fptr) == 0) printf ("% s onnistuneesti suljettu \\ n", tiedostonimi); } Palata Reval; } //Datawrite () funktion määritelmää void Datawrite (FILE * flähtö) {int i; kaksinkertainen harrastaja [MAX_NUM] = {145,23, 589,69, 122,12, 253,21, 987,234}; printf ("koko harrastaja:% d-tavu \\ n", sizeof (harrastaja)); for (i = 0; i {printf ("% 5.
2f \\ n", harrastaja [i]); fwrite (& harrastaja [i], sizeof (double), 1, flähtö);}} //DataRead () funktion määritelmän mitätöi DataRead (FILE * fin) {int i; double x, printf ("\\ nReread alkaen binaaritiedoston: \\ n"); (i = 0; i {fread (& X, sizeof (double), (int) 1 , fin), printf ("% 5.2f \\ n", x);}} //ErrorMsg () funktion määritelmää int ErrorMsg (char * str) {printf ("Ei voi avata% s. \\ n", str); paluu FAIL;} ====================================================================================================;>;>.h>.h>.h>.h>.h>.h>.h>.h>.h>;>.h>.h>.h>.h>;>;>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.
h>.h>.h>.h>