Datei öffnen

Eine Datei kann in unterschiedliche Modis geöffnet werden.

ModusBeschreibungDatei nicht vorhanden
rASCII lesenNULL
rbBinär lesenNULL
wASCII schreibenErstellt Datei
wbBinäres schreibenErstellt Datei
aAnfügenErstellt Datei
abBinäres AnfügenErstellt Datei
r+Lesen und schreibenNULL
rb+Lesen und schreiben in binärNULL
w+lesen und schreibenErstellt Datei
wb+Lesen und schreiben in binärErstellt Datei
ab+Anfügen und lesen in binärErstellt Datei
#include <stdio.h>
#include <stdlib.h>

FILE *f = fopen("Pfad", "mode");

Datei lesen (line by line)


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
	char * line = NULL;
	size_t len = 0;
	ssize_t read;
	FILE *f = fopen("Pfad", "r");
	
	if (f == NULL) { // das gleiche wie if (!f)
		perror("Datei konnte nicht geöffnet werden!");
		exit(-1);
	}
	
	while ((read = getline(&line, &len, f)) != -1) {
		printf("Retrieved line of length %zu:\n", read);
		printf("%s", line);
	}
	
	// Datei wieder schliessen
	fclose(f);
	
	if (line)
	{
		free (line);
	}
	return EXIT_SUCCESS;
}

Datei schreiben (by Charater)


#include <stdio.h>
#include <stdlib.h>


int main(void)
{
	char * line = NULL;
	size_t len = 0;
	ssize_t read;
	FILE *f = fopen("Pfad", "w");
	
	if (f == NULL) { // das gleiche wie if (!f)
		perror("Datei konnte nicht geöffnet werden!");
		exit(-1);
	}
	// Datei wieder schliessen
	fclose(f);
	
	if (line)
	{
		free (line);
	}
	return EXIT_SUCCESS;

}

Datei anfügen


#include <stdio.h>
#include <stdlib.h>

int main(void)
{	
	char * line = NULL;
	size_t len = 0;
	ssize_t read;
	FILE *f = fopen("Pfad", "a");
	
	if (f == NULL) { // das gleiche wie if (!f)
		perror("Datei konnte nicht geöffnet werden!");
		exit(-1);
	}
	// Datei wieder schliessen
	fclose(f);
	
	if (line)
	{
		free (line);
	}
 	return EXIT_SUCCESS;
}