/*------------------------------------------------------------------*/ /* testdupout.c */ /* Author: Bob Dondero */ /* The dup system call. */ /*------------------------------------------------------------------*/ #include #include #include #include int main(int argc, char *argv[]) { int iFd; int iRet; iFd = creat("tempfile", 0600); if (iFd == -1) {perror(argv[0]); return EXIT_FAILURE; } iRet = close(1); if (iRet == -1) {perror(argv[0]); return EXIT_FAILURE; } iRet = dup(iFd); if (iRet == -1) {perror(argv[0]); return EXIT_FAILURE; } iRet = close(iFd); if (iRet == -1) {perror(argv[0]); return EXIT_FAILURE; } printf("somedata\n"); return 0; } /*------------------------------------------------------------------*/ /* Sample execution: $ gcc -Wall -ansi -pedantic testdupout.c -o testdupout $ testdupout $ cat tempfile somedata */