Daha önceki yazımda geleneksel dosyalama sistemleri hakkında kısaca bahsetmiştim. Peki C Kullanarak txt dosyasına nasıl veri yazılır ?
Bu yazımda C de txt dosyasına veri yazma ver dosyalama işlemleri ile ilgili bir örnek vermek istiyorum.
C programlama dili ile txt dosyasına veri yazmak, silmek ve veri okumak zor değil sadece bir kaç teorik bilgiye ihtiyacınız var.
Dosyalama işlemleri için için gerekli kodlar aşağıda yer almaktadır. Soru ve sorunlarınız için yorum bırakabilirsiniz.
C txt dosyasına veri yazmak, silmek ve veri okumak
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> int main(){ int tercih=2; while(tercih>1){ printf("Veri Kaydet : 2 \n"); printf("Veri Oku : 3 \n"); printf("Veri Sil : 4 \n"); scanf("%d",&tercih); if(tercih==2){ FILE *fp=fopen("dosya.txt","a"); char bilgi[1000]; printf("Kaydetmek Istediginiz Veriyi Girin : "); scanf("%s",&bilgi); fprintf(fp,"%s\n",bilgi); fclose(fp); } else if(tercih==3){ FILE *fp=fopen("dosya.txt","r"); if(fp=fopen("dosya.txt","r")){ char bilgi[1000]; while(!feof(fp)){ fscanf(fp,"%s",bilgi); printf("%s \n",bilgi); } }else{ printf("Aradiginiz Dosya Yok!.."); } fclose(fp); } else if(tercih==4){ FILE *fp; if(fp=fopen("dosya.txt","r")){ FILE *fp2=fopen("dosya2.txt","w"); char bilgi[1000],sil[100]; printf("Sil Bilgisi Gir: "); scanf("%s",sil); while(!feof(fp)){ fscanf(fp,"%s",bilgi); if(strcmp(bilgi,sil)==0){ printf("sil veri bulundu ve silindi...."); }else{ fprintf(fp2,"%s\n",bilgi); } } fclose(fp); fclose(fp2); FILE *icdoldur; if(icdoldur=fopen("dosya.txt","w")){ FILE *icoku=fopen("dosya2.txt","r"); char okunan[100]; while(!feof(icoku)){ fscanf(icoku,"%s",okunan); fprintf(icdoldur,"%s\n",okunan); } fclose(icdoldur); fclose(icoku); } } } } return 0; }
kullanıcı ekleme okuma işlemlerini sorunsuz yapıyor ama örneğin dosyadan bir kullanıcı sildik diyelim sonra okuma işlemi yaptırdığımızda okurken sıkıntı çıkıyor saçma karakterler çıkıyor bende mi bir problem var anlamadım. yoksa şey mi sildiği kullanıcının oluşturduğu boşluk diğer verilerin de sırasını mı bozuyor ?