为什么弹出运行时错误?

时间:2017-04-14 14:19:50

标签: c++ runtime-error fork

有人可以帮我吗?为什么弹出运行时错误?在此先感谢:)我对C ++不太满意。

   #include <iostream>
    #include<sys/types.h>
    #include<sys/ipc.h>
    #include<sys/shm.h>
    #include<string.h>
    #include<unistd.h>
    #define KEY 123456
    using namespace std;

    int main()
    {
        int shmid=shmget(KEY, 128, 0666);
        char* addr1=(char*)shmat(shmid, 0, 0);
        strcpy(addr1, "Hello");

        int pid=fork();
        if(pid!=0)
        {
            char* addr2=(char*)shmat(shmid,0,0);
            std::cout<<"\n"<<addr1;
            std::cout<<"\n"<<addr2;
            sleep(2);
            std::cout<<"\n"<<addr1;
            std::cout<<"\n"<<addr2;
            int rval=shmdt(addr2);
            std::cout<<"\n"<<addr1;
            std::cout<<"\n"<<addr2;
        }
        else
        {
            strcpy(addr1, "World");
        }
        return 0;
    }

有人可以帮我吗?为什么弹出运行时错误?在此先感谢:)我对C ++不太满意。 有人可以帮我吗?为什么弹出运行时错误?在此先感谢:)我对C ++不太满意。 抱歉,我必须这样做才能使内容更大。

0 个答案:

没有答案
相关问题