September 6
Una delle prime cose che si imparano come programmatore C è come leggere dati da un file. Anche se è stato sviluppato nel 1972, il linguaggio di programmazione C è ancora comunemente usato oggi, soprattutto perché permette al programmatore di sviluppare applicazioni di alto livello pur essendo in grado di controllare i singoli bit di informazione in caso di necessità. Scrivere un programma per leggere un file di testo in pochi passi.
1 Digitare quanto segue per includere il "ansi_c.h" file di intestazione nella prima riga del file di origine:
includere <ansi_c.h>
2 Digitare quanto segue in un nuovo progetto "ANSI C" per definire la funzione "readFile":
int readFile (const char * filePathName, char ** resultsRead)
{
3 Digitare quanto segue per aprire il file:
int sizeOfFile = 0;
FILE * filePointer = fopen (filePathName, "RB");
if (filePointer == null)
{
* ResultsRead = NULL;
tornare -999;
}
4 Digitare la seguente per leggere il contenuto del file:
fseek(filePointer, 0, SEEK_END);
sizeOfFile = ftell (filePointer);
fseek (filePointer, 0, SEEK_SET);
* ResultsRead = (char *) malloc (sizeOfFile + 1);
5 Digitare la seguente per controllare gli errori durante la lettura del file:
if (sizeOfFile != fread(*resultsRead, sizeof(char), sizeOfFile, filePointer))
{
gratis (* resultsRead);
tornare -999;
}
6 Digitare quanto segue per chiudere il contenuto del file e file di ritorno:
fclose(filePointer);
(* ResultsRead) [sizeOfFile] = 0;
tornare sizeOfFile;
}
7 Digitare quanto segue per definire la funzione "main ()" nel file di origine:
int main ()
{
Digitare la seguente per dichiarare le variabili:
char *dataRead;
int sizeOfFile;
int characterCntr = 0;
8 Inserire il seguente per chiamare la funzione "readFile" creato in precedenza:
sizeOfFile = readFile("C:\\readData.txt", &dataRead);
if (sizeOfFile & lt; 0)
{
puts ( "la lettura dei dati di errore nel file");
ritornare 1;
}
9 Inserire il seguente per scorrere i contenuti nel file, visualizzarli e chiudere la funzione:
while (sizeOfFile > 0)
{
putchar (dataRead [characterCntr]);
characterCntr ++;
sizeOfFile--;
}
return 0;
}