Fájlkezelés a C-ben: Útmutató kezdőknek

A programoknak általában adatstruktúrára van szükségük a végrehajtás során szükséges adatok tárolására. Általában ezeket az adatokat változókban vagy tömbökben tárolják. Ezzel az a probléma, hogy elvész, amint a program befejezi a végrehajtást. Ez azért van, mert ezek ideiglenes memóriahelyek.

Ha szüksége van arra, hogy az adatok egy program futtatása után is elérhetők legyenek, akkor azokat fájlba kell mentenie. A fájlok lehetnek szövegesek vagy binárisak.

Ez a cikk arra összpontosít, hogyan kezelheti a szöveges fájlokat C nyelven. Íme, amit tudnia kell.

Fájl megnyitása

Először is fontos tudni, hogy mindig deklarálnia kell egy FILE típusú mutatót, amikor fájlokkal dolgozik. Ez a mutató szükséges a fájl és a program közötti kommunikációhoz.

FILE *filePtr;

Egy fájl írásához, olvasásához vagy frissítéséhez először meg kell nyitnia azt. A C a szabványos fopen() könyvtárfüggvényt biztosítja ehhez.

Kapcsolódó: Hogyan ellenőrizhető, hogy két mátrix azonos-e a programozással

Ez a függvény két karakterlánc argumentumot vesz fel: a fájlnevet és a módot. Ha a megnyitott fájl nem abban a programkönyvtárban található, amelyben éppen tartózkodik, akkor a fájlnév használata helyett megadhatja a fájl elérési útját.

Nézze meg az alábbi szintaxist az fopen() használatához :

filePtr = fopen("filename.txt", "mode");

A filePtr változó egy FILE típusú mutató . Az argumentum mód a fájl megnyitásának módjára vonatkozik. Vagyis milyen funkciókat várnak el a fájlon.

Három módban nyithat meg egy fájlt C nyelven. Ezek az r, w és a módok . Fájl olvasásához használja az r gombot . Fájlba íráshoz használja a w billentyűt . Ha egy fájl végéhez adatokat szeretne hozzáfűzni, használja a .

Ha például egy programozás.txt nevű fájl tartalmát szeretné elolvasni , akkor az alábbi utasítást használja:

filePtr = fopen("programming.txt" , "r");

Az r, w és a mellett más kiterjesztett módok is léteznek. Az alábbiakban bemutatjuk a szöveges fájlok módozatait:

r+ és w+ : Mindkét mód a fájl megnyitására szolgál olvasásra és írásra. A különbség az, hogy az r+ az fopen() függvényt NULL értékkel adja vissza, ha a fájl nem létezik, míg a w+ létrehozza a fájlt helyette. Egy másik megjegyzés, hogy a w+ felülír egy fájlt, ha létezik.

a+ : Ez a mód egy fájl megnyitására szolgál hozzáfűzés és olvasás céljából. Ha a fájl nem létezik, akkor létrejön.

Írás és olvasás

Használhatja az fprintf és fscanf függvényeket egy fájl írására és olvasására. Ez a két funkció működését tekintve összehasonlítható az alap I/O printf és scanf funkcióival.

#include int main(void){ // pointer declaration FILE *filePtr; filePtr = fopen("myfile.txt", "w"); //the message below will be written to myfile.txt fprintf(filePtr, "%s", "Files are permanent memory locations."); }

A fenti kód bemutatja, hogyan hozhat létre egy myfile.txt nevű fájlt , majd tárolhat benne üzenetet. Az újonnan létrehozott fájl tartalmának elolvasásához lásd az alábbi kódot.

#include #include int main(void){ char message[196]; FILE *filePtr; filePtr = fopen("myfile.txt", "r"); if (filePtr == NULL){ printf("Error opening the file"); //program exists if the pointer returns NULL exit(1); } fscanf(filePtr,"%s", &message); printf("The message is: %s", message); fclose(filePtr); }

Amikor lefordítja és futtatja a fenti kódot, a kimenet a Files lesz . Észre fogja venni, hogy ez nem a teljes üzenet, amelyet a myfile.txt fájlban tárolt . Azért ne aggódj. Ez nem hiba a kódban.

Kapcsolódó: Hogyan találhatja meg egy karakter ASCII-értékét?

Amikor a program szóközt talál, leállítja a fájl tartalmának olvasását. Ha az üzenet ehelyett a Files-are-permanent-memory-locations néven íródott volna , akkor az egész kimenet a képernyőn jelenne meg.

Mindkét megadott kódpéldában észre kellett volna vennie az fclose() utasítást. A fájlt (szöveges vagy bináris) használat után mindig be kell zárni.

Egy pillantás a C++ programozásra

Miután elérte ezt a fájlkezelési szintet C nyelven, valószínűleg átlagon felüli felhasználója a nyelvnek. Ez azt is jelenti, hogy hatékonyabb programozási módokat kell keresnie.

C++ a válasz. Ez a C objektum-orientált verziója. Mostanra már fel kell hajtania az ingujjait, hogy megtanulja ezt a felkapott nyelvet.


Az objektumorientált programozás használata Pythonban

Az objektumorientált programozás használata Pythonban

Az objektum-orientált programozás (OOP) a programozás egy formája, amelynek középpontjában az objektumok állnak: olyan kis egységek, amelyek egyesítik az adatokat és a kódot. A Simula volt az első OOP nyelv, amelyet fizikai modellek szimulálására hoztak létre. Az OOP használatával osztályokat definiálhat, amelyek sablonként működnek bizonyos típusú objektumok számára.

Python virtuális környezetek hatékony létrehozása és kezelése

Python virtuális környezetek hatékony létrehozása és kezelése

Virtuális környezet nélkül nem lehet sikeresen végrehajtani egy valós projektet Pythonban. Az olyan eszközök, mint a virtualenvwrapper és a virtualenv, általánosak a webfejlesztési virtuális környezetek létrehozására és kezelésére, míg az anacondát széles körben használják az adatkutatók.

Háttérkép beállítása CSS-ben

Háttérkép beállítása CSS-ben

A weboldal készítés nagyszerű módja annak, hogy kifejezze magát. Bár számos webhely-készítő eszköz létezik, saját maga megírása szórakoztató módja annak, hogy többet megtudjon a webhelyek színfalai mögötti működéséről. Egy jó kezdő projekt egy webhely létrehozása és háttérkép hozzáadása CSS-sel. Ez a projekt elindítja Önt a HTML és a CSS használatával.

Fájlkezelés a C-ben: Útmutató kezdőknek

Fájlkezelés a C-ben: Útmutató kezdőknek

A programoknak általában adatstruktúrára van szükségük a végrehajtás során szükséges adatok tárolására. Általában ezeket az adatokat változókban vagy tömbökben tárolják. Ezzel az a probléma, hogy elvész, amint a program befejezi a végrehajtást. Ez azért van, mert ezek ideiglenes memóriahelyek.

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Ha Ön Python-fejlesztő, nagy hasznot húzhat a rendelkezésre álló keretrendszerek tömbjéből. Míg egyes keretrendszerek a legmegfelelőbbek nagy ökoszisztémák számára, mások konkrét fejlesztési célok kiszolgálására specializálódtak. Olvasson tovább, hogy megismerje az alapvető funkciókat, használatot és a két Python-keretrendszer – a Flask és a CherryPy – közötti különbségeket.

WordPress vs. Wix: A legfontosabb különbségek

WordPress vs. Wix: A legfontosabb különbségek

Gyakran szembesül a klasszikus dilemmával, miközben webhelyet készít magának vagy vállalkozásának. WordPress vs. Wix – melyiket válassza, és mi lenne a legjobb választás az Ön számára?

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

Ha azt tervezi, hogy frissíti a témát a WordPress-webhelyén, bővítményeket ad hozzá, vagy radikálisan megváltoztatja az irányt, érdemes időt szánni a tesztelésre, mielőtt a változtatások életbe lépnek.

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

A WordPress-t sok különböző cég használja tartalomkezelő rendszereihez. Ezért egyre nagyobb az igény a WordPress fejlesztőkre. Lehet, hogy már látott néhány álláshirdetést ezekre a pozíciókra.

Hogyan készítsünk számológépet a Tkinterben

Hogyan készítsünk számológépet a Tkinterben

A Python számos eszközt biztosít az adattudományhoz, a web- és az Android-fejlesztéshez. De a Python programozási nyelv egyik legjobb eszköze a Tkinter for Graphical User Interface. A python Tkinter könyvtára grafikus felületi widgeteket biztosít, amelyek segítenek felhasználóbarát alkalmazások létrehozásában. A Tkinter könnyen használható, könnyű és gyors. Nem kell kifejezetten telepítenie a Tkintert, mivel előre telepítve van a Pythonnal.

Mi az a Kotlin? Rövid bevezető

Mi az a Kotlin? Rövid bevezető

A Kotlin 2011-es Jetbrain általi beiktatása óta nagy hírnevet szerzett a fejlesztők közösségében. A statikusan tipizált és általános célú nyelvek közül Kotlin magasabb szinten áll a számítástechnika e korszakában tanulni kívánt programozási nyelvek többségéhez képest.

9 jel, hogy programozó akar lenni

9 jel, hogy programozó akar lenni

Ha számítógépek körül nőtt fel, és mindenhez ért az IT-hez, akkor lehet, hogy képes lesz programozó lenni. A modern munkaerőpiacon való versenyzés nagyon sok munkát igényel, így már a megfelelő készségek birtokában előnyt jelent.

Tanuljon Python programozást Raspberry Pi-n ezekkel a parancsokkal és adatstruktúrákkal

Tanuljon Python programozást Raspberry Pi-n ezekkel a parancsokkal és adatstruktúrákkal

A Raspberry Pi egy egylapos számítógép, amelyet azért hoztak létre, hogy mindenki számára elérhetővé tegye a számítástechnikát. Rengeteg kiegészítővel és globális közösségi támogatással gyengéd bevezetésként szolgál a fizikai számítástechnikába.

Tanulja meg, hogyan indíthat ingyenes blogot még ma a 7 webhely segítségével

Tanulja meg, hogyan indíthat ingyenes blogot még ma a 7 webhely segítségével

Egy blog indítása, még ha ingyenes is, nagy lépés – ezért ne tedd meg anélkül, hogy előbb felkészülnél. Ismerje meg az új bloggerek lépéseit és legnépszerűbb webhelyeit.

A kellékek használata a ReactJS-ben

A kellékek használata a ReactJS-ben

A Reactban a kellékek kifejezés tulajdonságokat jelent, és ezek a kellékek létfontosságú szerepet játszanak a React fejlesztési folyamatában. Az összetevők a React építőkövei. Ezek az összetevők kellékeket használnak a funkcionalitásuk javítására és a kód újrafelhasználására.

Hogyan készítsünk gépi tanulási modellt a Microsoft Lobe segítségével

Hogyan készítsünk gépi tanulási modellt a Microsoft Lobe segítségével

A gépi tanulás manapság mindenhol jelen van, a spamszűréstől és az arcfelismeréstől a hangasszisztensekig és a vezető nélküli autókig. A Microsoft Lobe nevű új alkalmazásának köszönhetően azonban nincs szükség mesterképzésre ahhoz, hogy megtanulja használni ezt az izgalmas technológiát.

Az objektumorientált programozás használata Pythonban

Az objektumorientált programozás használata Pythonban

Az objektum-orientált programozás (OOP) a programozás egy formája, amelynek középpontjában az objektumok állnak: olyan kis egységek, amelyek egyesítik az adatokat és a kódot. A Simula volt az első OOP nyelv, amelyet fizikai modellek szimulálására hoztak létre. Az OOP használatával osztályokat definiálhat, amelyek sablonként működnek bizonyos típusú objektumok számára.

Python virtuális környezetek hatékony létrehozása és kezelése

Python virtuális környezetek hatékony létrehozása és kezelése

Virtuális környezet nélkül nem lehet sikeresen végrehajtani egy valós projektet Pythonban. Az olyan eszközök, mint a virtualenvwrapper és a virtualenv, általánosak a webfejlesztési virtuális környezetek létrehozására és kezelésére, míg az anacondát széles körben használják az adatkutatók.

Háttérkép beállítása CSS-ben

Háttérkép beállítása CSS-ben

A weboldal készítés nagyszerű módja annak, hogy kifejezze magát. Bár számos webhely-készítő eszköz létezik, saját maga megírása szórakoztató módja annak, hogy többet megtudjon a webhelyek színfalai mögötti működéséről. Egy jó kezdő projekt egy webhely létrehozása és háttérkép hozzáadása CSS-sel. Ez a projekt elindítja Önt a HTML és a CSS használatával.

Fájlkezelés a C-ben: Útmutató kezdőknek

Fájlkezelés a C-ben: Útmutató kezdőknek

A programoknak általában adatstruktúrára van szükségük a végrehajtás során szükséges adatok tárolására. Általában ezeket az adatokat változókban vagy tömbökben tárolják. Ezzel az a probléma, hogy elvész, amint a program befejezi a végrehajtást. Ez azért van, mert ezek ideiglenes memóriahelyek.

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Flask vagy CherryPy: melyik Python-keretrendszert érdemes használni?

Ha Ön Python-fejlesztő, nagy hasznot húzhat a rendelkezésre álló keretrendszerek tömbjéből. Míg egyes keretrendszerek a legmegfelelőbbek nagy ökoszisztémák számára, mások konkrét fejlesztési célok kiszolgálására specializálódtak. Olvasson tovább, hogy megismerje az alapvető funkciókat, használatot és a két Python-keretrendszer – a Flask és a CherryPy – közötti különbségeket.

WordPress vs. Wix: A legfontosabb különbségek

WordPress vs. Wix: A legfontosabb különbségek

Gyakran szembesül a klasszikus dilemmával, miközben webhelyet készít magának vagy vállalkozásának. WordPress vs. Wix – melyiket válassza, és mi lenne a legjobb választás az Ön számára?

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

6 módszer egy teszthely létrehozására a WordPress állomásoztatásához

Ha azt tervezi, hogy frissíti a témát a WordPress-webhelyén, bővítményeket ad hozzá, vagy radikálisan megváltoztatja az irányt, érdemes időt szánni a tesztelésre, mielőtt a változtatások életbe lépnek.

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

Mi az a WordPress fejlesztő? 5 kötelező készség, ha az akarsz lenni

A WordPress-t sok különböző cég használja tartalomkezelő rendszereihez. Ezért egyre nagyobb az igény a WordPress fejlesztőkre. Lehet, hogy már látott néhány álláshirdetést ezekre a pozíciókra.

Hogyan készítsünk számológépet a Tkinterben

Hogyan készítsünk számológépet a Tkinterben

A Python számos eszközt biztosít az adattudományhoz, a web- és az Android-fejlesztéshez. De a Python programozási nyelv egyik legjobb eszköze a Tkinter for Graphical User Interface. A python Tkinter könyvtára grafikus felületi widgeteket biztosít, amelyek segítenek felhasználóbarát alkalmazások létrehozásában. A Tkinter könnyen használható, könnyű és gyors. Nem kell kifejezetten telepítenie a Tkintert, mivel előre telepítve van a Pythonnal.

Mi az a Kotlin? Rövid bevezető

Mi az a Kotlin? Rövid bevezető

A Kotlin 2011-es Jetbrain általi beiktatása óta nagy hírnevet szerzett a fejlesztők közösségében. A statikusan tipizált és általános célú nyelvek közül Kotlin magasabb szinten áll a számítástechnika e korszakában tanulni kívánt programozási nyelvek többségéhez képest.