嵌入式4-2

今日作业:使用文件IO 实现父进程向子进程发送信息,并总结中间可能出现的各种问题

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, const char *argv[])
{
    pid_t res=fork();
    if(res>0)
    {
        int fd1=open("./test.c",O_CREAT|O_WRONLY|O_TRUNC,0664);
        if(fd1==-1)
        {
            perror("open1");
            return -1;
        }
        char str[50]={0};
        puts("输入字符");
        gets(str);
        ssize_t w=write(fd1,str,50);
        if(w==-1)
        {
            perror("write");
            return -1;
        }
        close(fd1);
    }else if(res==0)
    {
        sleep(3);
        int fd2=open("./test.c",O_RDONLY);    
        if(fd2==-1)
        {
            perror("open2");
            return -1;
        }
        char str1[50]={0};
        ssize_t r=read(fd2,str1,50);
        if(r==-1)
        {
            perror("read");
            return -1;
        }
        puts(str1);
        close(fd2);
    }else if(res==-1)
    {
        perror("fork");
        return -1;
    }
    return 0;
}

相关推荐

  1. 嵌入学习-ARM-Day4

    2024-04-03 06:44:05       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 06:44:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 06:44:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 06:44:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 06:44:05       20 阅读

热门阅读

  1. 【Vue】创建vue3项目

    2024-04-03 06:44:05       19 阅读
  2. Python可视化概率统计和聚类学习分析生物指纹

    2024-04-03 06:44:05       17 阅读
  3. LeetCode //C - 1146. Snapshot Array

    2024-04-03 06:44:05       16 阅读
  4. 利用pandas进行数据行转列和列转行

    2024-04-03 06:44:05       16 阅读
  5. Vue组件基础详细介绍

    2024-04-03 06:44:05       16 阅读
  6. 【观察者模式】

    2024-04-03 06:44:05       15 阅读