#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
//#include <iostream>
#include <string.h>
#include <fcntl.h>
#include <signal.h>
int main(){
int stdout = dup(1);
char p[] = "test.txt";
close(1);
int output = open(p, O_WRONLY | O_CREAT | O_TRUNC, 0777);
//std::cout << "lala" << endl;
printf("lala\n");
close(output);
dup(stdout);
close(stdout);
printf("lolo\n");
// std::cout << "lolo" << endl;
return 0;
}
我認爲的printf和std ::法院要輸出同樣的事情,我想在終端屏幕上的文件「拉拉」和「洛洛」 ,爲什麼這個版本(與prinf)在屏幕上打印所有內容,並且「std :: cout」版本按我喜歡的方式打印。文件描述符,printf和性病::法院之間的差異