Pliki w C i C++.pdf

(155 KB) Pobierz
Pliki w C/C++
Pliki w C/C++
Przykłady na podstawie materiałów
dr T.
dr T. Jeleniewskiego
Przykłady na podstawie materiałów
Jeleniewskiego
6986823.017.png 6986823.018.png 6986823.019.png 6986823.020.png
Pisanie pojedynczych znaków z klawiatury do pliku
#include <stdio.h>
#include <conio.h>
void main(void)
{ FILE *fptr; // wkaznik do pliku, tzw. uchwyt
uchwyt
char ch;
fptr = fopen("textfile.txt","w"); // otwarcie pliku
while ( (ch = getche()) != '\r' ) // pobranie znaku
//jeśli to nie CR
CR (powrót karetki)
fputc(ch,fptr);
// pisanie znaku do pliku
fclose(fptr); // zamkniecie pliku
}
6986823.001.png 6986823.002.png 6986823.003.png 6986823.004.png
Program czyta kolejne znaki z pliku tekstowego
#include <stdio.h>
#include <conio.h>
void main(void)
{ FILE *fptr; // uchwyt
uchwyt do pliku wejściowego
int ch;
fptr = fopen("textfile.txt","r"); // otwarcie pliku
while( (ch = fgetc(fptr)) != EOF ) // pobranie znaku z pliku
printf("%c", ch); // wyświetlanie znaku
fclose(fptr); // zamkniecie pliku
getch(); clrscr();
}
//sprzątanie
6986823.005.png 6986823.006.png 6986823.007.png 6986823.008.png
Błąd otwarcia pliku
#include <stdio.h>
#include <stdlib.h>
int main(void)
// zwraca wartość całkowita
{ FILE *fptr;
int ch;
if ( (fptr = fopen("zlyplik.txt","r")) == NULL )
// plik nie istnieje
{
printf("\n Nie mogę otworzyć pliku zlyplik
zlyplik. txt
txt .");
exit(1);
// zwrot numeru błędu
}
while( (ch = getc(fptr)) != EOF )
// pobierz znak z pliku
printf("%c", ch);
// i wyświetl go
fclose(fptr);
// zamknij plik
return (0);
// powrót bez błędu
}
6986823.009.png 6986823.010.png 6986823.011.png 6986823.012.png
Zliczanie ilości znaków w pliku
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char *argv[ ] )
{ FILE *fptr;
int count=0;
if (argc != 2) // sprawdzenie liczby argumentów
{ printf("\n Wywołanie z argumentem nazwa_pliku");
exit(1); }
if ( (fptr = fopen(argv[1], "r")) == NULL) // otwarcie pliku
{ printf("\n Nie mogę otworzyć pliku %s.", argv[1]);
exit(1); }
while( fgetc(fptr) != EOF ) // pobierz znak z pliku
count++; // zliczaj
fclose(fptr); // zamknij plik
printf("\nPlik %s zawiera %d znaków.", argv[1], count);
return (0);
}
6986823.013.png 6986823.014.png 6986823.015.png 6986823.016.png
Zgłoś jeśli naruszono regulamin