1

好吧,我正在尝试从一个文件中读取并写入另一个文件。

我还有其他要添加的内容,例如从第一个文件中获取信息,但为了测试,我试图让它写入第二个文件。

我的理解是 dp2() 调用之后的所有内容都会输出到第二个参数。对?

    using namespace std;
    using std::string;
    using std::ostream;
    using std::endl;
    string str;



    int main(){


    int file= open("./input.txt", O_CREAT | O_RDWR | O_APPEND, S_IRUSR | S_IWUSR);
        if(file==-1){
            cout<<"Error: "<<errno<<endl;
        }
    int file2= open("./output.txt", O_CREAT | O_RDWR | O_APPEND, S_IRUSR | S_IWUSR);
        if(file2==-1){
            cout<<"Error: "<<errno<<endl;
        }

    int retval = dup2(file,file2);
        if(retval == -1){
        cout<<"Error: "<<errno;
        }

    printf("yeah");


    close(file);

    }
4

1 回答 1

0

首先,我不确定是什么让你相信你需要使用dup2(). 不要在这里使用它,它不需要并且会做错事。

其次,要将输出写入低级文件描述符,请使用write()

write(file2, "yeah\n", 5);

close(file2)当你完成它时不要忘记。

于 2011-10-18T04:53:33.233 回答