我需要读取这样打开的文件:
int outfile = open(*fileName, "w");
使用文件描述符,我这样做:
char txt[50];
int bytes;
bytes = read(outfile,txt, 50);
但是我的分段错误和应用程序中止,任何想法?
答案 0 :(得分:5)
注意要打开的第二个参数。这是“w”,这似乎表明你打开文件进行写作。但是,我open的手册页指出第二个参数应该是以下之一:O_RDONLY
,O_WRONLY
或O_RDWR
。 (fopen使用像“w”,“w +”,“r”这样的字符串......但是那个fopen没有打开)。你可能会很幸运,“w”作为一个int的值会让你写作,但你真的想检查你的返回值并且可能想要使用
open(*filename, O_RDWR);
设置读写模式。