-

string ile char arasındaki fark

genelde “string” ve “char” birbirine karıştırılır aradaki fark anlaşılamaz.

char:tek bir karakterdir

string:karakter dizisidir

char d=’g’;//diye kullanılır

string d=”derya”;//diye kullanılır

aynı şeyi hem string hem char ile de yazabiliriz:

char d[]={‘d’,’e’,’r’,’y’,’a’} =     string d =”derya”

ekrana yazdırılırken de :

printf(“%s”,d);    =     printf(“%c”,d);

şeklinde yazdırılır…………………………

DERYA GÜNDÜZ

c’de dosya kopyalama

“a” adında bir dosyamız olacak,bu dosyamızın bir kopyasını oluşturacaz ve “a”nın içindekiler “a_kopya”da
da    olacak;

main()

{

char k[20];//kopyalanacak dosya adı
p[28]=”Kopya_”;//oluşan dosya adının bir kısmı

FILE *derya;

printf(“dosya adı : n”);

scanf(“%s”,k);

strcat(p,k);//2. oluşan dosyanın adı a_kopya

derya= fopen(p,”w”);//w de dosya yoksa aynı zamnda oluşturuyordu da

FILE *gunduz;

int ch;
gunduz = fopen(k, “r”);

if (gunduz== NULL) {

printf(“Cannot open %sn”, k);

exit(8);

}

while (1) {

ch = fgetc(gunduz);

if (ch == EOF)

{ break;}

fprintf(derya,”%c”, ch);

}
printf(“copying is finished!n”);
return 0;
}

DERYA GÜNDÜZ

c’de fseek() fonksiyonu

fseek() c’de bir fonksiyondur,okunan yeri ilerletmek için kulllanılır.
,
SEEK_SET: dosyanın başı
SEEK_CUR: dosya göstericisinin şu an bulundugu nokta
SEEK_END: dosyanın sonu

#include
#include

int main(int argc, char *argv[])
{ FILE *derya;
derya=fopen(“e:\meltem.txt”,”r”);
fseek(derya,3,SEEK_SET)//okuyucuyu meltem dosyasının başından itibaren 3 byte ieri götürür

system(“PAUSE”);
return 0;
}

c’de strcat() fonksiyonu

dosya yapıları lab ödevi ile uğraşırken strcat()   fonksiyonu ile karşılaştım,ne işe yaradığını bilmiyordum,biraz bakındım,sizinle de  paylaşmak istedim:
strcat() c’de kullanılan hazır bir fonksiyondur içine aldığı iki arrayden ikincisini birincinin sonuna ekler,örnek koduna bakalım:

#include

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

{

char derya[]=”yeni birsey”;

char derya2[]=”ogrendim”;

strcat(derya,derya2);

puts(derya);

system(“PAUSE”);

return 0;

}

OUTPUT
yeni birseyogrendim

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;

}}