笔记:

#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	int fd, save_fd;
	char msg1[] = "This is first test\n";
	char msg2[] = "This is second test\n";
	
	fd = open("somefile", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
	if(fd<0)
	{
		perror("open");
		exit(1);
	}
	save_fd = dup(STDOUT_FILENO);
	dup2(fd, STDOUT_FILENO);
	close(fd);
	write(STDOUT_FILENO, msg1, strlen(msg1));
	dup2(save_fd, STDOUT_FILENO);
	write(STDOUT_FILENO, msg2, strlen(msg2));
	close(save_fd);

	return 0;
}

图示

笔记:_第1张图片

你可能感兴趣的:(笔记:)