Belirli bir dizinin var olup olmadığını kontrol etmek istiyorum.Dizinin var olup olmadığını kontrol etmenin taşınabilir yolu [Windows/Linux, C]
DIR* dir = opendir("mydir");
if (dir)
{
/* Directory exists. */
closedir(dir);
}
else if (ENOENT == errno)
{
/* Directory does not exist. */
}
else
{
/* opendir() failed for some other reason. */
}
Ama .. bir dizin olursa olsun ne varsa kontrol etmek için herhangi bir yolu var mı bunu yapmanın bir taşınabilir yol gerekir:
BOOL DirectoryExists(LPCTSTR szPath)
{
DWORD dwAttrib = GetFileAttributes(szPath);
return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
(dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
}
ve Linux: Windows üzerinde bunu nasıl biliyor OS kullanıyorum? Belki C standart kütüphane yolu?
Önişlemciler yönergelerini kullanabileceğimi ve bu işlevleri farklı işletim sistemlerinde çağırabileceğimi biliyorum, ancak bu çözüm için sorun değil.
EN AZ ŞİMDİLİK BU oluşturmuş oluruz:
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
int dirExists(const char *path)
{
struct stat info;
if(stat(path, &info) != 0)
return 0;
else if(info.st_mode & S_IFDIR)
return 1;
else
return 0;
}
int main(int argc, char **argv)
{
const char *path = "./TEST/";
printf("%d\n", dirExists(path));
return 0;
}
nasıl basitçe onun içinde (rastgele dosya adıyla) bir dosya oluşturmak için çalışıyor dersiniz? – stijn