| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==C 低水準ファイルアクセス==
[[Programming C]]
====file descriptor====
====write====
#include<&lt;unistd.h>&gt;
ssize_t write(int filedes, const void *buf, size_t nbytes);
*global変数errnoにエラーの内容を示す値が設定される。
#include <&lt;unistd.h> &gt;
int main()
}
====read====
#include <&lt;unistd.h>&gt;
ssize_t read(int filedes, void *buf, size_t nbytes);
*errorが発生した場合、-1を返す
#include <&lt;unistd.h>&gt;
int main()
====open====
#include <&lt;fcntl.h>&gt; #include <&lt;sys/types.h>&gt; #include <&lt;sys/stat.h>&gt;
int open(const char *path, int oflags);
int open(const char *path, int oflags, mode_t mode);
|}
#include <&lt;fcntl.h>&gt; #include <&lt;sys/types.h>&gt; #include <&lt;sys/stat.h>&gt;
int main() {
====close====
#include <&lt;unistd.h>&gt;
int close(int filedes);
====ioctl====
#include <&lt;unistd.h>&gt;
int ioctl(int filedes, int cmd, ...);
ioctlは何でも屋的な関数で、device と その descriptor の振る舞いを制御したり、device が提供する service を設定するための interface を提供する。
===file 操作のためのその他の system call===
====lseek====
#include <&lt;unistd.h>&gt; #include <&lt;sys/types.h>&gt;
out_t lseek(int filedes, off_t offset, int whence);
**SEEK_END offset はfileの末尾から相対
#include <&lt;unistd.h>&gt; #include <&lt;sys/stat.h>&gt; #include <&lt;sys/types.h>&gt; #include <&lt;fcntl.h>&gt;
int main()
====fstat, stat, lstat====
#include <&lt;unistd.h>&gt; #include <&lt;sys/stat.h>&gt; #include <&lt;sys/types.h>&gt;
int fstat(int filedes, struct stat *buf);
int stat(const char *path, struct stat *buf);
====dup, dup2====
#include <&lt;unistd.h>&gt;
int dup(int filedes);
int dup2(int filedes, int filedis2);

案内メニュー