Textfile lesen

Folgende Funktion kann als einfache Vorlage genutzt werden um Textfiles zu lesen.

int theFunction()
{
	FILE *pFile = NULL;
	char *pcFileBuffer = NULL;
	long lFileSize = 0;
 
	// ...
	// Code-Zeilen...
	// ...
 
 
	// File zuerst öffnen
	if ((pFile = fopen(szFileName, "rb")) == NULL)
	{
		printf("File [%s] kann nichr geöffnet werden\n", szFileName);
		return (-1);
	} // if
 
	// Größe des Files "messen"
	if (rc = fseek(pFile, 0, SEEK_END))
	{
		printf("IO Error\n");
		return (-1);
	} // if
	lFileSize = ftell(pFile);
 
	// Speicher zuteilen
	if ((pcFileBuffer = calloc(1, lFileSize + 1)) == NULL)
	{
		printf("Out of Memory\n");
		return (-1);
	} // if
 
	// File in den Buffer lesen
	if (rc = fseek(pFile, 0, SEEK_SET))
	{
		printf("IO Error\n");
		return (-1);
	} // if
	if ((rc = fread(pcFileBuffer, lFileSize, 1, pFile)) != 1)
	{
		printf("File [%s] kann nicht gelesen werden\n", szFileName);
		return (-1);
	}
 
	pcFileBuffer[lFileSize] = '\0'; // Buffer abschließen
 
	// ...
	// ...weitere Code-Zeilen...
	// ...
 
	free(pcFileBuffer); // Am Ende Buffer freigeben
	pcFileBuffer = NULL;
 
	// ...
	// ...weitere Code-Zeilen...
	// ...
} // theFunction()

Stand: 06.08.2012
: Jürgen Kreick

EOF