De fopen() methode in C is een bibliotheekfunctie die wordt gebruikt om een bestand te openen om verschillende bewerkingen uit te voeren, waaronder lezen, schrijven, enz., samen met verschillende modi. Als het bestand bestaat, opent de functie fopen() het betreffende bestand, anders wordt er een nieuw bestand gemaakt.
Syntaxis
De syntaxis van C fopen() is:
FILE * fopen (const char * file_name , const char * mode_of_operation );>
Parameters
De methode accepteert twee parameters van het tekenaanwijzertype:
- bestandsnaam: Dit is van het C-tekenreekstype en accepteert de naam van het bestand dat moet worden geopend.
- mode_of_operation: Dit is ook van het C-tekenreekstype en verwijst naar de modus van bestandstoegang.
De onderstaande tabel bevat geldige mode_of_operation-waarden in C met hun betekenis:
| Openingsmodi | Beschrijving sorteer arraylijst java |
|---|---|
| R | Zoekt bestand. Opent het bestand alleen om te lezen . Als het bestand succesvol is geopend, laadt fopen() het in het geheugen en stelt een pointer in die naar het eerste teken daarin verwijst. Als het bestand niet kan worden geopend, retourneert fopen() NULL. |
| In | Zoekt bestand. Als het bestand al bestaat, wordt de inhoud ervan overschreven. Als het bestand niet bestaat, wordt er een nieuw bestand gemaakt. Retourneert NULL als het bestand niet kan worden geopend. Er wordt een nieuw bestand gemaakt dat alleen bedoeld is om te schrijven (niet lezen). |
| A | Zoekt bestand. Als het bestand succesvol is geopend, laadt fopen() het in het geheugen en stelt een pointer in die naar het laatste teken erin verwijst. Als het bestand niet bestaat, wordt er een nieuw bestand gemaakt. Retourneert NULL als het bestand niet kan worden geopend. Het bestand wordt alleen geopend om toe te voegen (schrijven aan het einde van het bestand). |
| r+ | Zoekt bestand. Opent het bestand voor zowel lezen als schrijven . Indien succesvol geopend, laadt fopen() het in het geheugen en stelt een pointer in die naar het eerste teken erin verwijst. Retourneert NULL als het bestand niet kan worden geopend. |
| w+ | Zoekt bestand. Als het bestand bestaat, wordt de inhoud ervan overschreven. Als het bestand niet bestaat, wordt er een nieuw bestand gemaakt. Retourneert NULL als het bestand niet kan worden geopend. Het verschil tussen w en w+ is dat we ook het bestand kunnen lezen dat met w+ is gemaakt. |
| een+ | Zoekt bestand. Als het bestand succesvol is geopend, laadt fopen( ) het in het geheugen en stelt een pointer in die naar het laatste teken erin verwijst. Als het bestand niet bestaat, wordt er een nieuw bestand gemaakt. Retourneert NULL als het bestand niet kan worden geopend. Het bestand wordt geopend om te lezen en toe te voegen (schrijven aan het einde van het bestand). |
| rb | Open de binair bestand in leesmodus. Als het bestand niet bestaat, retourneert de functie open() NULL. |
| wb | Open de binair bestand in schrijfmodus. Omdat de aanwijzer naar het begin van het bestand is ingesteld, wordt het inhoud wordt overschreven. Als het bestand niet bestaat, a er wordt een nieuw bestand aangemaakt. |
| ab | Open de binair bestand in de toevoegmodus. De bestandsaanwijzer is ingesteld na het laatste teken in het bestand . A er wordt een nieuw bestand aangemaakt als er geen bestand bestaat met de naam. |
| rb+ | Open de binair bestand in lees- en schrijfmodus. Als het bestand niet bestaat, retourneert de functie open() NULL. |
| wb+ | Open de binair bestand in lees- en schrijfmodus. De inhoud wordt overschreven als het bestand bestaat. Het wordt aangemaakt als het bestand niet bestaat. |
| ab+ wat is 10 van de 100 | Open de binair bestand in lees- en toevoegmodus. Er wordt een bestand aangemaakt als het bestand niet bestaat. |
Winstwaarde
- De functie wordt gebruikt om een pointer naar FILE terug te sturen als de uitvoering slaagt, anders wordt NULL geretourneerd.
Voorbeeld van fopen()
C
// 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;> }> |
>
>
Wanneer u de volgende opdracht uitvoert, wordt er een nieuw bestand gemaakt met de naam demo_bestand.txt met de volgende inhoud:
Welcome to techcodeview.com>
Als we nu het bestand willen bekijken, moeten we de volgende code uitvoeren, waardoor het bestand wordt geopend en de inhoud ervan wordt weergegeven.
C
// 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;> }> |
mvc voor java
>
>
Uitvoer
Welcome to techcodeview.com>
Meer artikelen over bestandsbeheer in C:
- Basisprincipes van bestandsbeheer in C
- fopen() voor een bestaand bestand in schrijfmodus
- EOF, getc() en feof() in C
- Modi voor het openen van bestanden (r versus r+)