Giriş
Şu satırı dahil ederiz.
İmzası
İkinci parametre string alır. char kullanmak yanlıştır.
Sanırım en önemli sebebi içini göstermeyen (opaque) bir yapı kullanılabilmesi. Ayrıca hata olursa null karşılatırması yapılarak anlaşılabilir.
Hata Kontrolü
Açıklaması şöyle.
Şöyle yaparız.
Hem yazma hem de okuma yapılabilir. Şöyle yaparız
Şu satırı dahil ederiz.
#include<stdio.h>
Bu metod yerine C11'deki fopen_s kullanılırsa daha iyi.İmzası
İkinci parametre string alır. char kullanmak yanlıştır.
FILE *fp= fopen("...",
'r');
Derleyici şu uyarıyı verir.warning: passing argument 2 of ‘fopen’ makes pointer from integer without a cast
Neden FILE* DönerSanırım en önemli sebebi içini göstermeyen (opaque) bir yapı kullanılabilmesi. Ayrıca hata olursa null karşılatırması yapılarak anlaşılabilir.
Hata Kontrolü
Açıklaması şöyle.
Şöyle yaparız.Otherwise, NULL is returned and errno is set to indicate the error.
FILE* fp = fopen(filename, "r");
if (fp == NULL) {
perror(filename);
};
Hatalardan birisi ENOENT. Açıklaması şöyle.read + binaryNo such file or directory (POSIX.1-2001).Typically, this error results when a specified path‐ name does not exist, or one of the components in the directory prefix of a pathname does not exist, or the specified pathname is a dangling symbolic link.
Şöyle yaparız.
string filename = "...";
FILE * f = fopen (filename.c_str(), "rb");
read + updateHem yazma hem de okuma yapılabilir. Şöyle yaparız
FILE* fd = fopen("...","r+");
Hiç yorum yok:
Yorum Gönder