使用文件描述符读取文件

时间:2014-04-29 18:25:30

标签: c file

我需要读取这样打开的文件:

int outfile = open(*fileName, "w");

使用文件描述符,我这样做:

char txt[50];
int bytes;  
bytes = read(outfile,txt, 50);

但是我的分段错误和应用程序中止,任何想法?

1 个答案:

答案 0 :(得分:5)

注意要打开的第二个参数。这是“w”,这似乎表明你打开文件进行写作。但是,我open的手册页指出第二个参数应该是以下之一:O_RDONLYO_WRONLYO_RDWR。 (fopen使用像“w”,“w +”,“r”这样的字符串......但是那个fopen没有打开)。你可能会很幸运,“w”作为一个int的值会让你写作,但你真的想检查你的返回值并且可能想要使用

open(*filename, O_RDWR);

设置读写模式。