-

dosyadan okunan türkçe karakterleri ingilizce karaktere çevirme(yarınki lab uygulaması)

dosyamızın(yada kodumuzun) içinde yazan karakter türkçe(ingilizcede olmaya ç ü ö ğ ı gibi) olduğu zaman ekranda anlamlandıramadığımız bir takım semboller çıkar,bunları ing karakterere çevirebilmek için kontrolleri yapıp ingilizce karşılığı olan harfe atamak gerekiyor,aşağıdaki kodu inceleyebilirsiniz:
#include
#include

int main(int argc, char *argv[])

{

FILE *file;
char ch;

int a=0;

char filename[35];

printf(“Dosyanin adini giriniz:”);

gets(filename);

file = fopen(filename,”r”);

for(;;)

{
while(fread(&ch,sizeof(char),1,file)!=0){

if(ch==’ç’ ||ch==’Ç’)((bu karakterlerden varsa bunları çevirsin

ch=’c’;

else if(ch==’ğ’ ||ch==’Ğ’)

ch=’g’;

else if(ch==’ı’ ||ch==’İ’)

ch=’i’;

else if(ch==’ö’ ||ch==’Ö’)

ch=’o’;

else if(ch==’ş’ ||ch==’Ş’)

ch=’s’;

else if(ch==’Ü’ ||ch==’ü’)

ch=’u’;

else if(ch==’ ‘)//boşlık karakteri varsa saymasın

a–;
printf(“%cn”,ch);
a++;}

if(feof(file))
{

printf(“Dosya sonuna gelindin”);
fclose(file);

}
printf(“%d tane karakter var”,a);

system(“PAUSE”);

return 0;

}}

dosyadan okuma,fgetc() fonsiyonu

fgetc karakter karakter okumayı sağlıyor,getc(dosya pointer adı) şeklinde kullanılır
#include
int main(int argc, char *argv[])

{
FILE *derya;
int b=-1;//null karakterini de sayıyor oyüzden -1den başlatıyoruz

char temp,filename[20];
gets(filename);
derya=fopen(filename,”r”);

for(;;)
{
temp=fgetc(derya);

printf(“%cn”,temp);

b++;//her bir eleman için b yi 1 arttıracağından dosyadaki eleman sayısını bulmuş olur

if(feof(derya))//dosyanın sonuna geldiğinde döngüden çıkacak
{
printf(“dosya sonuna gelindin”);
break;
}
}
printf(“%d tane sayi okundun”,b);

system(“PAUSE”);

return 0;

}

dosyadan okuma,fread() fonksiyonu

istenilen sayıda karakteri okutabilmek için kullanılır.içine 4 parametre alır:ilki,okunacak karakterin adresi,ikincisi okunacak karakterin boyutu,3.sü kaçar kaçar okuyacağı,4.sü dosya parametresi.
#include

#include
int main(int argc, char *argv[])

{

FILE *file;
char ch;
int a=0;
char filename[35];
printf(“Dosyanin adini giriniz:”);//kullanıcının istediği dosyayı okutmasına imkan sağlıyoruz
gets(filename);//E:/meltem.txt şeklinde ad yol ve uzantıyı içermelidir
file = fopen(filename,”r”); //dosyayı okuyabilmek için açmak gerekir
for(;;)

{
while(fread(&ch,sizeof(char),1,file)!=0)//
printf(“%cn”,ch);//okuduğunu yazsın
a++;//okuduğu her karakter için sayacı bir arttırsın

if(feof(file))//dosyanın sonun agelip gelmediğinin kontrolü

{

printf(“Dosya sonuna gelindin”);

fclose(file);//açılan dosya kapatılmalı

}

printf(“%d tane karakter var”,a);//kaç karakter okuduysa ekrana yazsın

system(“PAUSE”);

return 0;

}}