面试题答案
一键面试- 简述实现步骤:
- 使用
fcntl
函数来获取文件描述符fd
的当前标志位。 - 对获取到的标志位进行修改,添加可读可写权限标志。
- 使用
fcntl
函数将修改后的标志位设置回文件描述符fd
。
- 使用
- 关键代码:
#include <fcntl.h>
#include <stdio.h>
int main() {
int fd = 0; // 假设已经打开文件得到fd
int flags;
// 获取当前文件描述符的标志位
flags = fcntl(fd, F_GETFL, 0);
if (flags == -1) {
perror("fcntl F_GETFL");
return 1;
}
// 添加可读可写权限标志
flags |= O_RDWR;
// 设置修改后的标志位
if (fcntl(fd, F_SETFL, flags) == -1) {
perror("fcntl F_SETFL");
return 1;
}
return 0;
}