C文件描述符在打开时返回-1

用户名

令人尴尬的简单问题,但是我似乎无法打开新文件来使用文件描述符进行写入。我尝试过的每一种变化都会返回-1我想念什么?这是使用文件描述符初始化文件的方式,对吗?我找不到其他说明的文档。

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
  int fd;
  mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
  fd = open ("/home/CSTCIS/sample.dat", O_WRONLY, mode);
  printf("%d\n", fd);
}

perror()打印open: No such file or directory

Shauryachats

引用pubs.opengroup.org

成功完成后,[ open]函数应打开文件并返回一个非负整数,该整数代表编号最小的未使用文件描述符。否则,应返回-1并设置errno以指示错误。如果函数返回-1,则不能创建或修改任何文件

要检查open()语句存在什么问题,只需编写:

perror("open");

printf()声明之前

OP已找到解决方案:

open()如果O_CREAT包含标志,则命令有效

fd = open ("/home/CSTCIS/sample.dat", O_WRONLY | O_CREAT, mode);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

socket()返回std :: thread内的文件描述符1

来自分类Dev

在O(1)打开文件描述符中的scala / java中迭代文件

来自分类Dev

如何防止socket()系统调用返回文件描述符0,1或2?

来自分类Dev

为什么在调用 select 时套接字文件描述符参数递增 1?

来自分类Dev

文件描述符的值何时变为“ -1”?

来自分类Dev

文件描述符的值何时变为“ -1”?

来自分类Dev

什么是0、1和2以外的文件描述符

来自分类Dev

打开功能不返回文件描述符

来自分类Dev

如何在valgrind中跟踪/捕获“警告:syscall关闭中的无效文件描述符-1”

来自分类Dev

无法在文件描述符,管道,fifo,设备等的输出上运行file(1)

来自分类Dev

Linux实现打开文件描述符C

来自分类Dev

为什么bash在Sublime或TextEdit中打开文件时不打开文件描述符,而在BBEdit中打开文件时却不打开文件描述符?

来自分类Dev

在C中通过引用返回并传递文件描述符

来自分类Dev

如何在C中返回文件描述符

来自分类Dev

打开变量指定的文件描述符

来自分类Dev

DBus:返回文件描述符

来自分类Dev

linux文件描述符0 1 2是否不适用于stdin,stdout和stderr?

来自分类Dev

Shell是否自动将文件描述符0、1和2连接到其控制终端?

来自分类Dev

写入打开的文件时,为什么会出现错误的文件描述符错误?

来自分类Dev

从文件描述符读取C

来自分类Dev

通过网络安装打开时正确关闭文件描述符

来自分类Dev

如果“读取时”可以打开“文件描述符”,为什么我需要“ exec”

来自分类Dev

read() 在有效的文件描述符上返回错误的文件描述符

来自分类Dev

递归函数后错误的文件描述符在C中打开文件

来自分类Dev

如何获取除stdin stdout和stderr之外的文件描述符(执行$ program 1> file_1 3> file_2之类的操作)?

来自分类Dev

文件描述符(fd从C中打开)是否与其进程ID相同?

来自分类Dev

文件描述符(fd从C中打开)是否与其进程ID相同?

来自分类Dev

如何在c程序中使用libprocps获取打开的文件描述符/句柄

来自分类Dev

获取OS X中打开的文件(描述符)列表

Related 相关文章

  1. 1

    socket()返回std :: thread内的文件描述符1

  2. 2

    在O(1)打开文件描述符中的scala / java中迭代文件

  3. 3

    如何防止socket()系统调用返回文件描述符0,1或2?

  4. 4

    为什么在调用 select 时套接字文件描述符参数递增 1?

  5. 5

    文件描述符的值何时变为“ -1”?

  6. 6

    文件描述符的值何时变为“ -1”?

  7. 7

    什么是0、1和2以外的文件描述符

  8. 8

    打开功能不返回文件描述符

  9. 9

    如何在valgrind中跟踪/捕获“警告:syscall关闭中的无效文件描述符-1”

  10. 10

    无法在文件描述符,管道,fifo,设备等的输出上运行file(1)

  11. 11

    Linux实现打开文件描述符C

  12. 12

    为什么bash在Sublime或TextEdit中打开文件时不打开文件描述符,而在BBEdit中打开文件时却不打开文件描述符?

  13. 13

    在C中通过引用返回并传递文件描述符

  14. 14

    如何在C中返回文件描述符

  15. 15

    打开变量指定的文件描述符

  16. 16

    DBus:返回文件描述符

  17. 17

    linux文件描述符0 1 2是否不适用于stdin,stdout和stderr?

  18. 18

    Shell是否自动将文件描述符0、1和2连接到其控制终端?

  19. 19

    写入打开的文件时,为什么会出现错误的文件描述符错误?

  20. 20

    从文件描述符读取C

  21. 21

    通过网络安装打开时正确关闭文件描述符

  22. 22

    如果“读取时”可以打开“文件描述符”,为什么我需要“ exec”

  23. 23

    read() 在有效的文件描述符上返回错误的文件描述符

  24. 24

    递归函数后错误的文件描述符在C中打开文件

  25. 25

    如何获取除stdin stdout和stderr之外的文件描述符(执行$ program 1> file_1 3> file_2之类的操作)?

  26. 26

    文件描述符(fd从C中打开)是否与其进程ID相同?

  27. 27

    文件描述符(fd从C中打开)是否与其进程ID相同?

  28. 28

    如何在c程序中使用libprocps获取打开的文件描述符/句柄

  29. 29

    获取OS X中打开的文件(描述符)列表

热门标签

归档