首页 > 试题广场 >

假设磁盘文件foobar.txt由6个ASCII码字符“fo

[问答题]
假设磁盘文件foobar.txt由6个ASCII码字符“foabar"组成。那么下列程序的输出是什么?
#include "csapp.h"
int main()
{
  int fd;
   char c;
  fd = Open("foobar .txt", O_RDONLY, 0) ;
   if (Fork() ==0) {
      Read(fd, &c, 1);
     exit(0);
    }
  Wait (NULL);
  Read(fd, &C, 1);
  printf("c =%c\n",c);
   exit(0);
}

子进程继承父进程的文件描述符表,所以父子进程共享同一打开文件表项,即文件偏移量受父子进程共同影响, 所以输出:c = o
发表于 2020-08-20 13:17:47 回复(0)