int main () {
Fil *fp;
char filnavn [] ="data.txt"; // erstatte med notisblokkfilnavnet ditt
int -nummer;
Char Line [100];
// Åpne filen for lesing
fp =fopen (filnavn, "r");
// sjekk om filen åpnet med suksess
if (fp ==null) {
printf ("feilåpningsfil:%s \ n", filnavn);
Avslutt (1); // Terminineringsprogram
}
// Les data fra filen
mens (fscanf (fp, "%d", &tall) ==1) {
printf ("Lesnummer:%d \ n", tall);
}
// Eksempel:lesestrenger (forutsatt data.txt har en streng per linje)
mens (fgets (linje, størrelse av (linje), fp)! =null) {
printf ("Les streng:%s", linje);
}
// Lukk filen
fClose (FP);
retur 0;
}
`` `
Forklaring:
1. inkluderer overskrifter: `stdio.h` er viktig for fil I/O, og` stdlib.h` brukes til `exit ()` -funksjonen.
2. Filåpning:
- `fp =fopen (filnavn, 'r"); `åpner filen som heter" data.txt "i lesemodus.
- Resultatet lagres i variabelen `FP` (File Pointer).
3. Feilhåndtering:
- `if (fp ==null)` sjekker om filen åpnet. Hvis `fp` er null, kunne ikke filen åpnes.
- Funksjonen `Exit (1)` kalles for å avslutte programmet hvis det er en feil.
4. Lesedata:
- heltall: `fscanf (fp,"%d ", &tall);` leser et heltall fra filen og lagrer det i `tall` -variabelen.
- strenger: `fgets (linje, størrelse av (linje), fp);` leser en linje fra filen (opptil 100 tegn) og lagrer den i ` -linjen` -matrisen.
5. Lukking av filen: `FClose (FP);` Lukker filen og slipper ressurser.
Eksempel Notisblokkfil (data.txt):
`` `
123
456
Hei, verden!
Dette er en tekstlinje.
`` `
Output:
`` `
Lesnummer:123
Lesnummer:456
Les streng:Hei, verden!
Les streng:Dette er en tekstlinje.
`` `
Viktige merknader:
* Filbane: Erstatt "data.txt" med den faktiske banen til notisblokkfilen din.
* Datatyper: Spesifikasjonene `FSCanf` -format (`%d` for heltall, `%s` for strenger, etc.) trenger å samsvare med datatypene i filen din.
* Feilhåndtering: Inkluder alltid feilhåndtering for å sikre at programmet ditt oppfører seg riktig hvis filen ikke blir funnet eller ikke kan åpnes.
* strenghåndtering: `Fgets` anbefales for å lese strenger fra filer fordi den håndterer potensiell buffer overløp.
Gi meg beskjed hvis du har et spesifikt dataformat eller om du trenger mer avanserte fillesingsteknikker!