使用文件描述符读取文件

Lis*_*isa 1 c file

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

int outfile = open(*fileName, "w");
Run Code Online (Sandbox Code Playgroud)

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

char txt[50];
int bytes;  
bytes = read(outfile,txt, 50);
Run Code Online (Sandbox Code Playgroud)

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

Pau*_*bel 6

注意打开的第二个参数.这是"w",这似乎表明你打开文件进行写作.然而,我的男人页表示第二个参数应该是一个:O_RDONLY,O_WRONLYO_RDWR.(fopen使用像"w","w +","r"这样的字符串,但是那个fopen没有打开).你可能会很幸运,"w"作为一个int的值会让你写作,但你真的想检查你的返回值并且可能想要使用

open(*filename, O_RDWR);
Run Code Online (Sandbox Code Playgroud)

设置读写模式.