2012/03/29

C/C++ open函數

open函數是在Linux裡面開啟檔案
主要有以下兩種開啟的方法,這次我使用第二種
       int open(const char *pathname, int flags);
       int open(const char *pathname, int flags, mode_t mode);
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>

void main()
{
    int fd,size;
    char s[]="This is a linux  programe!\n", buffer[50];
    fd = open("temp.txt", O_WRONLY|O_CREAT|O_EXCL, S_IRWXO);
    write(fd,s,sizeof(s));
    close(fd);

    fd = open("temp.txt",O_RDWR);
    size = read(fd,buffer,sizeof(buffer));
    close(fd);

    printf("%s",buffer);
}


fd = open("temp.txt", O_WRONLY|O_CREAT|O_EXCL, S_IRWXO);
再這行我做了以下的動作:
開啟temp.txt檔案,以寫入的方式開啟檔案
若開啟檔案不存在時,建立一個檔案
檔案的權限我設定為00007