int main () {
Fil *fp;
char filnavn [] ="data.txt"; // Udskift med dit Notepad -filnavn
int -nummer;
char linje [100];
// Åbn filen til læsning
fp =fopen (filnavn, "r");
// Kontroller, om filen åbnede med succes
if (fp ==null) {
printf ("fejlåbningsfil:%s \ n", filnavn);
exit (1); // Afslut programmet
}
// Læs data fra filen
mens (fscanf (fp, "%d", &nummer) ==1) {
printf ("Læsnummer:%d \ n", nummer);
}
// Eksempel:Læsestrenge (forudsat at data.txt har en streng pr. Linje)
mens (fgets (linje, størrelse af (linje), fp)! =null) {
printf ("læst streng:%s", linje);
}
// Luk filen
fClose (FP);
return 0;
}
`` `
Forklaring:
1. Inkluder overskrifter: `stdio.h` er vigtig for fil I/O, og` stdlib.h` bruges til `exit () 'funktionen.
2. Filåbning:
- `fp =fopen (filnavn," r ");` åbner filen med navnet "data.txt" i læsetilstand.
- Resultatet gemmes i variablen `FP '(filpointer).
3. Fejlhåndtering:
- `if (fp ==null)` kontrollerer, om filen åbnes med succes. Hvis `fp` er null, kunne filen ikke åbnes.
- Funktionen `exit (1)` kaldes til at afslutte programmet, hvis der er en fejl.
4. Læsningsdata:
- heltal: `FSCANF (fp,"%d ", &nummer);` læser et heltal fra filen og gemmer den i variablen 'nummer'.
- strenge: `fgets (linje, størrelse af (linje), fp); 'læser en linje fra filen (op til 100 tegn) og gemmer den i' linje 'array.
5. Lukning af filen: `FCLOSE (FP); 'lukker filen og frigiver ressourcer.
Eksempel Notepad -fil (data.txt):
`` `
123
456
Hej, verden!
Dette er en tekstlinje.
`` `
output:
`` `
Læsnummer:123
Læsnummer:456
Læs streng:Hej, verden!
Læs streng:Dette er en tekstlinje.
`` `
Vigtige noter:
* Filsti: Udskift "Data.txt" med den faktiske sti til din Notepad -fil.
* Datatyper: Formatspecifikationerne for 'FSCANF' ('%D' for heltal, '%S' til strenge osv.) Skal matche datatyperne i din fil.
* Fejlhåndtering: Medtag altid fejlhåndtering for at sikre, at dit program opfører sig korrekt, hvis filen ikke findes eller ikke kan åbnes.
* strenghåndtering: `FGETS` anbefales til at læse strenge fra filer, fordi det håndterer potentiel bufferoverløb.
Fortæl mig, hvis du har et specifikt dataformat, eller hvis du har brug for mere avancerede fillæsningsteknikker!