code piece #include "ace/OS.h" #include "ace/Message_Block.h" #include "ace/ACE.h" #undef BUFSIZ ACE_TMAIN (int argc, ACE_TCHAR *argv[]) { const int BUFSIZ = 10; ACE_Message_Block *head = new ACE_Message_Block(BUFSIZ); ACE_Message_Block *mblk = head; while(true) { ssize_t nbytes = ACE::read_n(ACE_STDIN, mblk->wr_ptr(), mblk->size()); if(nbytes <= 0) break; mblk->wr_ptr(nbytes); mblk->cont(new ACE_Message_Block(BUFSIZ)); mblk = mblk->cont(); } for(mblk=head; mblk!=0; mblk=mblk->cont()) ACE::write_n(ACE_STDOUT, mblk->rd_ptr(), mblk->length()); head->release(); return 0; }