The metóda fopen(). v jazyku C je funkcia knižnice, ktorá sa používa na otvorenie súboru na vykonávanie rôznych operácií vrátane čítania, zápisu atď. spolu s rôznymi režimami. Ak súbor existuje, funkcia fopen() otvorí konkrétny súbor, inak sa vytvorí nový súbor.
Syntax
Syntax C fopen() je:
FILE * fopen (const char * file_name , const char * mode_of_operation );>
Parametre
Metóda akceptuje dva parametre typu znakového ukazovateľa:
- názov súboru: Toto je typ reťazca C a akceptuje názov súboru, ktorý je potrebné otvoriť.
- Režim prevádzky: Toto je tiež typu reťazca C a vzťahuje sa na režim prístupu k súboru.
Nižšie uvedená tabuľka uvádza platné hodnoty mode_of_operation v C s ich významom:
| Režimy otvárania | Popis |
|---|---|
| r | Hľadá súbor. Otvorí súbor iba na čítanie . Ak je súbor úspešne otvorený, fopen() ho načíta do pamäte a nastaví ukazovateľ, ktorý ukazuje na prvý znak v ňom. Ak sa súbor nedá otvoriť, fopen() vráti NULL. |
| In | Hľadá súbor. Ak súbor už existuje, jeho obsah sa prepíše. Ak súbor neexistuje, vytvorí sa nový súbor. Ak nie je možné súbor otvoriť, vráti hodnotu NULL. Vytvorí nový súbor iba na zápis (bez čítania). pawandeep rajan |
| a | Hľadá súbor. Ak je súbor úspešne otvorený, fopen() ho načíta do pamäte a nastaví ukazovateľ, ktorý ukazuje na posledný znak v ňom. Ak súbor neexistuje, vytvorí sa nový súbor. Ak nie je možné súbor otvoriť, vráti hodnotu NULL. Súbor sa otvorí iba na pripojenie (zápis na koniec súboru). |
| r+ | Hľadá súbor. Otvorí súbor na čítanie aj zápis . Ak sa úspešne otvorí, fopen() ho načíta do pamäte a nastaví ukazovateľ, ktorý ukazuje na prvý znak v ňom. Ak nie je možné súbor otvoriť, vráti hodnotu NULL. |
| w+ | Hľadá súbor. Ak súbor existuje, jeho obsah sa prepíše. Ak súbor neexistuje, vytvorí sa nový súbor. Ak nie je možné súbor otvoriť, vráti hodnotu NULL. Rozdiel medzi w a w+ je v tom, že môžeme čítať aj súbor vytvorený pomocou w+. |
| a+ | Hľadá súbor. Ak je súbor úspešne otvorený, fopen() ho načíta do pamäte a nastaví ukazovateľ, ktorý ukazuje na posledný znak v ňom. Ak súbor neexistuje, vytvorí sa nový súbor. Ak nie je možné súbor otvoriť, vráti hodnotu NULL. Súbor sa otvorí na čítanie a pripojenie (zápis na koniec súboru). |
| rb narodil sa Freddie Mercury | Otvor binárny súbor v režime čítania. Ak súbor neexistuje, funkcia open() vráti hodnotu NULL. |
| wb | Otvor binárny súbor v režime zápisu. Keďže je ukazovateľ nastavený na začiatok súboru, obsah sa prepíše. Ak súbor neexistuje, a vytvorí sa nový súbor. |
| ab | Otvor binárny súbor v režime pripojenia. Ukazovateľ súboru je nastavený za posledným znakom v súbore . A vytvorí sa nový súbor ak neexistuje súbor s názvom. |
| rb+ | Otvor binárny súbor v režime čítania a zápisu. Ak súbor neexistuje, funkcia open() vráti hodnotu NULL. |
| wb+ | Otvor binárny súbor v režime čítania a zápisu. Ak súbor existuje, obsah sa prepíše. Ak súbor neexistuje, vytvorí sa. |
| ab+ | Otvor binárny súbor v režime čítania a pridávania. Ak súbor neexistuje, vytvorí sa súbor. |
Návratová hodnota
- Funkcia sa používa na vrátenie ukazovateľa na FILE, ak je vykonanie úspešné, inak sa vráti NULL.
Príklad fopen()
C
rozdiel medzi $ a $ $
// C program to illustrate fopen()> #include> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >// Creates a file 'demo_file'> >// with file access as write-plus mode> >demo =>fopen>(>'demo_file.txt'>,>'w+'>);> >// adds content to the file> >fprintf>(demo,>'%s %s %s'>,>'Welcome'>,>'to'>,> >'techcodeview.com'>);> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
ssh plná forma
>
>
Po spustení nasledujúceho príkazu sa vytvorí nový súbor podľa názvu demo_file.txt s nasledujúcim obsahom:
Welcome to techcodeview.com>
Teraz, ak sa chceme pozrieť do súboru, musíme spustiť nasledujúci kód, ktorý otvorí súbor a zobrazí jeho obsah.
C
ako čítať súbor csv v jave
// C program to illustrate fopen()> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >int> display;> >// Creates a file 'demo_file'> >// with file access as read mode> >demo =>fopen>(>'demo_file.txt'>,>'r'>);> >// loop to extract every characters> >while> (1) {> >// reading file> >display =>fgetc>(demo);> >// end of file indicator> >if> (>feof>(demo))> >break>;> >// displaying every characters> >printf>(>'%c'>, display);> >}> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
>
>
Výkon
Welcome to techcodeview.com>
Ďalšie články o práci so súbormi v jazyku C:
- Základy práce so súbormi v C
- fopen() pre existujúci súbor v režime zápisu
- EOF, getc() a feof() v C
- Režimy otvárania súborov (r oproti r+)