⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 temp3.c

📁 本代码是一个linux下文件操作的代码
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <errno.h>#include <sys/types.h>#include <sys/wait.h>#define BUFFER 255/*  管道通信 */int main(int argc,char **argv) { 	char buffer[BUFFER+1]; 	int fd[2]; 	if(argc!=2) 	{ 		fprintf(stderr,"Usage:%s string\n\a",argv[0]); 		exit(1); 	} 	/* 创建管道 */	if(pipe(fd)!=0) 	{ 		fprintf(stderr,"Pipe Error:%s\n\a",strerror(errno)); 		exit(1); 	} 	/* 创建子进程 */	if(fork()==0) 	{ 		close(fd[0]); // f[0]读,关闭		printf("Child[%d] Write to pipe\n\a",getpid()); 		snprintf(buffer,BUFFER,"%s",argv[1]); // 将argv[1]中字符串复制到buffer缓冲区,大小上限为BUFFER		write(fd[1],buffer,strlen(buffer));   // 从buffer中写strlen(buffer)字节到文件fd[1]		printf("Child[%d] Quit\n\a", getpid()); 		exit(0); 	} 	else 	{ 		close(fd[1]); // f[1]写,关闭		printf("Parent[%d] Read from pipe\n\a",getpid()); 		memset(buffer,'\0',BUFFER+1); // 初始化buffer缓冲区		read(fd[0],buffer,BUFFER);    // 从文件fd[0]读取BUFFER字节到buffer缓冲区		printf("Parent[%d] Read:%s\n",getpid(),buffer); 		exit(1); 	} } 

⌨️ 快捷键说明

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