file.cpp
来自「一个演示多线程中共享文件操作符的例子。file是主线程」· C++ 代码 · 共 54 行
CPP
54 行
#include <cstdio>#include <sys/stat.h>#include <cerrno>#include <fcntl.h>#include <unistd.h>#include <iostream>#include <sys/types.h>using namespace std;int main(int argc, char *argv[]){ int fd; int n; const char*mark = "This is parent process write."; char *str; if (argc != 2){ cout << "Usage: ex1 <filename> " << endl; exit(0); } fd = open(argv[1],O_RDWR | O_CREAT | O_TRUNC , S_IRUSR | S_IWUSR); if(fd == -1){ perror("open error"); exit(1); } n=fcntl(fd,F_GETFD,0); if (n == -1) { perror("fcntl F_GETFD error"); exit(1); } n = write(fd,mark, strlen(mark)); if (n == -1) { perror("write mark error"); exit(1); }// if (fork()== 0) n =sprintf(str,"%d",fd); if (n == -1) { perror("sprintf error"); exit(1); } execlp("./child", str,NULL); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?