temp4.c

来自「本代码是一个linux下文件操作的代码」· C语言 代码 · 共 49 行

C
49
字号
#include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <fcntl.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #define BUFFER_SIZE 1024/* 重定向 */ int main(int argc,char **argv) { 	int fd; 	char buffer[BUFFER_SIZE]; 	if(argc!=2) 	{ 		fprintf(stderr,"Usage:%s outfilename\n\a",argv[0]); 		exit(1); 	} 	/* 打开指定文件 */	if((fd=open(argv[1],O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR))==-1) 	{ 		fprintf(stderr,"Open %s Error:%s\n\a",argv[1],strerror(errno)); 		exit(1); 	} 	/* 复制文件描述符fd至STDOUT_FILENO,同时关闭STDOUT_FILENO文件描述符 */	if(dup2(fd,STDOUT_FILENO)==-1) 	{ 		fprintf(stderr,"Redirect Standard Out Error:%s\n\a",strerror(errno)); 		exit(1); 	} 	fprintf(stderr,"Now,please input string"); 	fprintf(stderr,"(To quit use CTRL+D)\n"); 	while(1) 	{ 		fgets(buffer,BUFFER_SIZE,stdin); // 读取输入字符串到buffer缓冲区中,大小上限BUFFER_SIZE		if(feof(stdin)) break;           // 读到结尾,退出 		write(STDOUT_FILENO,buffer,strlen(buffer));  //从buffer缓冲区写strlen(buffer)字节到STDOUT_FILENO文件(fd文件)	} 	exit(0); } 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?