13得票4回答
fclose和close的区别

如果我使用fopen打开了一个文件,那么调用fclose或close有什么区别,应该使用哪一个? 如果fork的子进程也可以访问该文件,那么当他们完成对文件的操作后应该怎么做?

11得票5回答
查找从FILE*或文件描述符中有多少字节可供读取

给定一个 FILE* 或文件描述符,有没有一种标准方法来告诉我们可以读取多少字节? 我不能使用 s=ftell(f),fseek(f,0,SEEK_END),e=ftell(f),fseek(f,s,SEEK_SET),e-s,因为 FILE* 只是从pipe(2)获得的文件描述符的包装器,...

15得票5回答
如何在Bash中找到下一个可用的文件描述符?

如何在Bash中判断文件描述符是否正在使用?例如,如果我有一个读取、写入和关闭fd 3的脚本。exec 3< <(some command here) ... cat <&3 exec 3>&- 如何最好地确保我的脚本不会干扰在我脚本运行之前可能已经设置...

7得票2回答
执行标准输出和标准输入文件描述符上的库函数时出现奇怪行为

在我作为C程序员的多年经历中,我一直对标准流文件描述符感到困惑。有些地方,比如维基百科[1],说: 在C编程语言中,标准输入、输出和错误流都附加在现有的Unix文件描述符0、1和2上。 这得到了unistd.h的支持: /* Standard file descriptors. *...

7得票3回答
如何使用sendmsg()在两个进程之间通过套接字发送文件描述符?

在@cnicutar回答我的问题后,我尝试从父进程向其子进程发送文件描述符。基于这个示例,我编写了以下代码: int socket_fd ,accepted_socket_fd, on = 1; int server_sd, worker_sd, pair_sd[2]; struct soc...

7得票3回答
Linux套接字write()函数出现坏的文件描述符问题 坏的文件描述符C问题

我在使用write(2)函数时遇到了一个有趣的问题。PrepareResponseForSetCoordinates函数在write操作中导致了文件描述符错误。 以下是出错的代码行: 完整输出如下: ERROR writing to socket: Bad file descriptor...

7得票2回答
调用dup/dup2后关闭文件描述符的规则是什么?

我觉得这是一个我曾经视为理所当然的话题。过去,我只是“因为被告知”关闭了尽可能多的文件描述符。大多数时候这都有效,但偶尔会遇到一些不可预测的行为。 因此,我想问 - 在调用dup / dup2后关闭文件描述符的规则是什么? 假设我想执行cat < in > out。 fd[I...

24得票1回答
O_NONBLOCK是设置在文件描述符还是底层文件上的属性?

根据我在The Open Group网站上阅读fcntl、open、read和write的内容,我的印象是无论是否在文件描述符上设置了O_NONBLOCK,也就是使用了非阻塞I/O,这应该是文件描述符的属性而不是底层文件的属性。作为文件描述符的属性意味着,例如,如果我复制一个文件描述符或打开另...

8得票1回答
如何在HTTP URL中使用FileDescriptor

我原本希望这个方法可以让Android的MediaPlayer使用身份验证从URL流传输,但现在我不太确定。 我可以轻松地从没有身份验证的开放服务器流传输,但我不知道如何告诉MediaPlayer使用基本身份验证,除非也许使用FileDescriptor参数可以工作? 所以我尝试了一下,但得到...

16得票3回答
打开() 如果我打开同一个文件两次会发生什么?

如果我打开同一个文件两次,会出现错误吗?还是会创建两个不同的文件描述符?例如:a = open("teste.txt", O_RDONLY); b = open("teste.txt", O_RDONLY);