Skip to content

Instantly share code, notes, and snippets.

@keremistan
Created March 29, 2017 15:17
Show Gist options
  • Save keremistan/c3091fba8cae26585a04b13b5aedf1f5 to your computer and use it in GitHub Desktop.
Save keremistan/c3091fba8cae26585a04b13b5aedf1f5 to your computer and use it in GitHub Desktop.
Adi gecen uc fonksiyonun birbirleri ile aralarinda ki etkilesimi anlasilmasina yardimci bir program!!
#include <stdio.h>
#include <string.h>
int main(void){
FILE *fp = fopen("/Users/keremdede/Desktop/prodan.txt", "a+");
for (int i = 0; i < 10; ++i) {
fprintf(fp, "Buda bizim %d satirimizi ifade ediyor\n", i);
}
printf("Stringimizin uzunlugu %zd\n", strlen("Buda bizim 5 satirimizi ifade ediyorn"));
printf("Her seyi dosyaya yazdirdiktan sonra dosyanin neresinde bulunuyor imlecimiz %ld\n", ftell(fp));
rewind(fp);
printf("rewind()i kullandiktan sonra ise %ld\n", ftell(fp));
printf("fseek i kullanaraktan ise...\n");
fseek(fp, 10, SEEK_SET);
printf("Baslangictan 10 hane saga kaydirirsak, ftell() diyecekki...%ld\n", ftell(fp));
fseek(fp, -5, SEEK_CUR);
printf("Eger current position dan eksi 5 hane kaydirirsan...%ld\n", ftell(fp));
fseek(fp, 0, SEEK_END);
printf("Eger en sona atip herhangi bir kaydirma yapmaz isekte, o zaman...%ld\n", ftell(fp));
fseek(fp, 1, SEEK_CUR);
printf("En sondan bir hane saga kaydirirsak...%ld\n", ftell(fp));
//Eger herhangi bir yerde elimize -1 degeri geciyorsa bir doyadan, o zaman yolun sonuna gelmisiz demektir :)
int i = EOF; printf("EOF nin degeri %d\n", i);
fseek(fp, -2, SEEK_CUR);
printf("Sonrasinda da iki hane sola kaydirirsak ise...%ld\n", ftell(fp));
//Buradada goruyoruzki, en sondan her ne kadar ileri gitmeye calistigimizda, degerimiz hep -1, yani EOF,
//olarak kalmaya devam ediyor!!!
fseek(fp, 10, SEEK_CUR);
int m = fgetc(fp); printf("En son alinan karakter %d\n", m);
fclose(fp);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment