首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从打开的文件中读取

无法从打开的文件中读取
EN

Stack Overflow用户
提问于 2015-02-09 14:38:55
回答 1查看 59关注 0票数 0

该文件存在,我刚刚在另一个函数中读取了该文件。另一个函数关闭文件。现在,我的workwith()尝试打开它并从中读取。

我的代码:

代码语言:javascript
复制
if (access(path_file, F_OK) != -1) {
  // file exists
  *mfs_desc = open(path_file, O_WRONLY | O_RDONLY, 0600);
  if (*mfs_desc == -1) {
    perror("opening file");
    exit(1);
  }
  printf("file_descriptor = %d, filename = |%s|\n", *mfs_desc,
         path_file);
  if ((read(*mfs_desc, superblock, sizeof(Superblock))) == - 1) {
    perror("read superblock");
    exit(1);
  }
}

但是,我得到了这个输出:

代码语言:javascript
复制
file_descriptor = 3, filename = |t.mfs|
read superblock: Bad file descriptor

我怀疑我打开文件的方式是不正确的。我想打开这个文件是为了写和读。该文件已经存在。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-09 14:40:39

更改此标志

代码语言:javascript
复制
O_WRONLY | O_RDONLY

代码语言:javascript
复制
O_RDWR

检查这里,它说标志必须包括访问模式的one

此外,参考文献还提到:

参数标志必须包括下列访问模式之一: O_RDONLY、O_WRONLY或O_RDWR。这些请求分别打开文件只读、只读或读/写。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28412246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档