IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

POSIX と Windows でのファイルオープン方法

各プラットフォームでのファイルオープンの仕方のメモ

たぶん、あってると思ってる

有ったら失敗、無かったら作る
// POSIX
open(name, O_RDWR | O_EXCL | O_CREAT, 0666);

// Win
CreateFileA(name, GENERIC_READ | GENERIC_WRITE, FILE_SHARED_READ | FILE_SHARED_WRITE | FILE_SHARED_DELETE, 0, CREATE_NEW, 0, 0);
有ったら開く、無かったら作る
// POSIX
open(name, O_RDWR | O_CREAT, 0666);

// Win
CreateFileA(name, GENERIC_READ | GENERIC_WRITE, FILE_SHARED_READ | FILE_SHARED_WRITE | FILE_SHARED_DELETE, 0, OPEN_ALWAYS, 0, 0);
有ったら開く、無かったら失敗
// POSIX
open(name, O_RDWR, 0666);

// Win
CreateFileA(name, GENERIC_READ | GENERIC_WRITE, FILE_SHARED_READ | FILE_SHARED_WRITE | FILE_SHARED_DELETE, 0, OPEN_EXISTING, 0, 0);

リズム的に「有ったでござる!無かったでござる!」って言いたくなった