EEM-120 Algoritma ve Programlama II Dersi
2022-2023 Bahar Dönemi Konu 5
Dosya Okuma ve Yazma
#include <stdio.h>
#include <stdlib.h>
#define PI 3.14
int main(int argc, char *argv[]) {
printf("%d %d %d", EOF, NULL, EXIT_FAILURE);
return 0;
}
-1 0 1
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a=10;
float b=20.5;
char c[]="Bu bir metindir";
char d[100];
sprintf(d,"metin: %s, tamsayi: %d, ondalikli sayi: %.2f",c, a, b);
printf("%s",d);
return 0;
}
metin: Bu bir metindir, tamsayi: 10, ondalikli sayi: 20.50
Dosya işlemleri
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp;
fp=fopen("veriler/dosya.txt","r");
if(fp==NULL){
printf("Dosya acilmadi!");
exit(1);
}
return 0;
}
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp;
fp=fopen("veriler/dosya.txt","r");
if(fp==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
fclose(fp);
return 0;
}
r: read / okuma
w: write / yazma
a: append / ekleme
fgetc(FILE *fp)
fputc(char a, FILE *fp)
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp;
int i;
char x;
// dosya yazma
if((fp=fopen("veriler/dosya.txt","w"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
for(i=0;i<10;i++)
fputc('x',fp);
fputc('\n',fp);
for(i=0;i<10;i++)
fputc('y',fp);
fclose(fp);
// dosya okuma
if((fp=fopen("veriler/dosya.txt","r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
for(i=0;i<21;i++){
x=fgetc(fp);
printf("%c",x);
}
fclose(fp);
return 0;
}
xxxxxxxxxx
yyyyyyyyyy
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp;
int i;
char x;
// dosya okuma
if((fp=fopen("veriler/dosya.txt","r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
for(i=0;i<21;i++){
x=fgetc(fp);
printf("%c",x);
}
fclose(fp);
return 0;
}
123xxxxxxx
yyyyyyyyyy
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp;
char x;
// dosya okuma
if((fp=fopen("veriler/dosya.txt","r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
while((x=fgetc(fp))!=EOF)
printf("%c",x);
fclose(fp);
return 0;
}
123xxxxxxx
yyyyyyyyyy
sdf
sdf
sdf
sdf
sdf
123
435
34
12
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp;
char x;
int sayac=0;
// dosya okuma
if((fp=fopen("veriler/dosya.txt","r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
while((x=fgetc(fp))!=EOF)
sayac++;
printf("okunan dosyada %d karater var.", sayac);
fclose(fp);
return 0;
}
okunan dosyada 55 karater var.
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp1, *fp2;
char x;
int sayac=0;
//okuma
if((fp1=fopen("veriler/dosya.txt","r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
// dosya yazma
if((fp2=fopen("hedef.txt","w"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
while((x=fgetc(fp1))!=EOF){
fputc(x, fp2);
sayac++;
}
printf("toplam %d karakter yazildi.",sayac);
fclose(fp1);
fclose(fp2);
return 0;
}
toplam 55 karakter yazildi.
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp1, *fp2;
char x;
int sayac=0;
if(argc!=3){
printf("Programin kullanimi: program adi KAYNAK HEDEF olmali \n");
exit(1);
}
//okuma
if((fp1=fopen(argv[1],"r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
// dosya yazma
if((fp2=fopen(argv[2],"w"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
while((x=fgetc(fp1))!=EOF){
fputc(x, fp2);
sayac++;
}
printf("toplam %d karakter yazildi.",sayac);
fclose(fp1);
fclose(fp2);
return 0;
}
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp1, *fp2;
char x;
int sayac=0;
//okuma
if((fp1=fopen("a.txt","r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
// dosya yazma
if((fp2=fopen("rakamlar.txt","w"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
while((x=fgetc(fp1))!=EOF){
if(x>='0' && x<='9'){
fputc(x, fp2);
sayac++;
}
}
printf("toplam %d rakam yazildi.",sayac);
fclose(fp1);
fclose(fp2);
return 0;
}
toplam 5 rakam yazildi.
#include <stdio.h>
#include <stdlib.h> //exit(1)
int main(int argc, char *argv[]) {
FILE *fp1;
char x;
int sayac=0;
//okuma
if((fp1=fopen("a.txt","r"))==NULL){
printf("Dosya acilmadi!");
exit(EXIT_FAILURE);
}
while((x=fgetc(fp1))!=EOF){
if(x=='\n'){
sayac++;
}
}
printf("toplam %d satir var. ",sayac+1);
fclose(fp1);
return 0;
}
toplam 13 satir var.