fopen
Dosya başarıyla açılırsa FILE* nesnesi döner. Açılamaz ise FILE* null olarak döner.
Syntax
FILE* fopen(const char* file, const char* mode);Params
- file: Dosya adı
- mode: Mod
example.cpp
#include <stdio.h>
int main(int argc, char** argv)
{
FILE* fptr;
fptr = fopen("01.txt", "r");
fclose(fptr);
return 0;
}| Mod | Description |
|---|---|
| r | read: Dosya okuma modu. Dosya mevcut olmalıdır. |
| w | write: Yeni bir dosya oluştur. Aynı isimde bir dosya var ise üzerine yazar. |
| a | append: Dosyanın içeriğinin sonundan yazmaya devam eder. Dosya yok ise yeniden oluşturur. |
| t | Dosyanın içeriğinin text olduğunu belirtir. |
| b | Dosyanın içeriğinin binary olduğunu belirtir. |
| r+ | read/update: Dosya okuma modu. Dosya mevcut olmalıdır. |
| w+ | write/update: Yeni bir dosya oluştur. Aynı isimde bir dosya var ise üzerine yazar. |
| a+ | append/update: Dosyanın içeriğinin sonundan yazmaya devam eder. Dosya yok ise yeniden oluşturur. |
fclose
Açılan dosya ile tüm ilişkileri keser. Başarıyla kapatılır ise 0 değerini döner.
Syntax
int fclose(FILE* file);Params
- file: file pointer
example.cpp
#include <stdio.h>
int main(int argc, char** argv)
{
FILE* fptr;
fptr = fopen("01.txt", "r");
fclose(fptr);
return 0;
}feof
Açılmış bir dosya içeriğinde dosya sonuna geldiğinde 1 gelmediğinde 0 değerini döner.
Syntax
int feof(FILE* file);Params
- file: file pointer
example.cpp
#include <stdio.h>
int main(int argc, char** argv)
{
FILE* fptr;
fptr = fopen("01.txt", "r");
int out = feof(fptr);
printf("Return: %d", out);
fclose(fptr);
return 0;
}fseek
İmlec konumunu ayarlar. Başarı durmunda 0 döner. Başarısız durumunda -1 döner.
Syntax
int fseek(FILE* file, long offset, int origin);Params
- file: file pointer
- offset: Imlec positon
- origin: Imlec konumu
example.cpp
#include <stdio.h>
int main(int argc, char** argv)
{
/// SEEK_SET: Dosya başlangıcı
/// SEEK_CUR: Dosyanın geçerli konumu
/// SEEK_END: Dosyanın sonu
FILE* fptr;
fptr = fopen("01.txt", "w");
fputs("Hello World!", fptr);
fseek(fptr, 6, SEEK_SET);
fputs("Hello World! ", fptr);
fclose(fptr);
return 0;
}fwrite, fread
Dosya içeriğine yazmak/okumak için kullanılır özellikle binary olarak yazdırılır. Başarı durumunda yazdırılan öge boyutunu verir.
Syntax
size_t fwrite(const void* src, size_t size, size_t count, FILE* file);
size_t fread(void* dst, size_t size, size_t count, FILE* file);Params
- src: Yazılıcak data
- size: Yazılacak data boyutu
- count: Kaç defa yazılacak
- file: file pointer
example.cpp
#include <stdio.h>
struct data
{
const char* ch;
int i;
};
int main(int argc, char** argv)
{
FILE* fw;
FILE* fr;
data dt, dt2 = {0};
dt.ch = "Hi";
dt.i = 25;
fw = fopen("data.dat", "wb");
fwrite(&dt, sizeof(data), 1, fw);
fclose(fw);
fr = fopen("data.dat", "rb");
fread(&dt2, sizeof(data), 1, fr);
fclose(fr);
printf("%s, %d", dt2.ch, dt2.i);
return 0;
}fflush
Başarı durumunda 0 değerini döner.
Syntax
int fflush(FILE* file);Params
- file: file pointer
example.cpp
#include <stdio.h>
int main(int argc, char** argv)
{
FILE* fptr;
fptr = fopen("01.txt", "w");
for(int i = 'A'; i <= 'Z'; i++)
{
printf("%c", fputc(i, fptr));
fflush(fptr);
}
fclose(fptr);
return 0;
}perror
Dosya Açılamaz ise Hata mesajlarını yazdırır.
Syntax
void perror(const char* str);Params
- str: String değeri
example.cpp
#include <stdio.h>
int main(int argc, char** argv)
{
FILE* fptr;
fptr = fopen("010.txt", "r");
if(fptr == NULL)
perror("Error");
fclose(fptr);
return 0;
}ferror
Dosya açıldıktan sonra hata durmunda 1 değerini döner. Aksi taktirde 0 değeri döner.
Syntax
int ferror(FILE* file);Params
- file: File Pointer
example.cpp
#include <stdio.h>
int main(int argc, char** argv)
{
FILE* fptr;
int out = 0;
fptr = fopen("01.txt", "r");
if(fptr != NULL)
{
fprintf(fptr, "Testing");
if(ferror(fptr))
printf("Error Writing File");
}
fclose(fptr);
return 0;
}
0 comments:
Yorum Gönder