- 论坛徽章:
- 2
|
本帖最后由 cdsfiui 于 2015-01-30 09:25 编辑
我写了一个非常小的程序,我是想把标准输出重定向到一个文件。我尝试使用posix的函数调用来做到这一点(而不是c运行时库的函数),源代码如下:
- #include<sys/types.h>
- #include<sys/stat.h>
- #include<fcntl.h>
- #include<unistd.h>
- int main()
- {
- int fd = open("m.txt", O_CREAT|O_RDWR);
- STDOUT_FILENO=fd;
- write(STDOUT_FILENO,"hw",2);
- close(fd);
- return 0;
- }
复制代码 g++报出编译错误:
- g++ redirect.cpp && ./a.out
- redirect.cpp: In function ‘int main()’:
- redirect.cpp:8:16: error: lvalue required as left operand of assignment
- STDOUT_FILENO=fd;
复制代码 这是什么含义? 我不能给STDOUT_FILENO赋值吗? |
|