#include #include /* For usleep */ /* Fake version of bc to test timeouts */ char *apszBanner[] = { "bc 0.6", "This is a fake version of bc.", "Don't trust any of the answers provided.", "Really, don't!", NULL }; int main ( int iArgC, char *apszArgV[] ) { char *pszLine, szLine[80]; int i; /* sleep ( 5 ); */ for ( i = 0; apszBanner[i]; i++ ) { puts ( apszBanner[i] ); } sleep ( 5 ); while ( pszLine = fgets ( szLine, sizeof(szLine), stdin ) ) { *(pszLine + strlen(pszLine) - 1) = '\0'; printf ( "Got %s, the answer is 42.\n", pszLine ); } return 0; /* Zero is success, right? */ } #### #include #include /* For usleep */ /* Fake version of bc to test timeouts */ char *apszBanner[] = { "bc 0.6", "This is a fake version of bc.", "Don't trust any of the answers provided.", "Really, don't!", NULL }; int main ( int iArgC, char *apszArgV[] ) { char *pszLine, szLine[80]; int i; /* sleep ( 5 ); */ for ( i = 0; apszBanner[i]; i++ ) { puts ( apszBanner[i] ); } fflush ( stdout ); sleep ( 5 ); while ( pszLine = fgets ( szLine, sizeof(szLine), stdin ) ) { *(pszLine + strlen(pszLine) - 1) = '\0'; printf ( "Got %s, the answer is 42.\n", pszLine ); fflush ( stdout ); } return 0; /* Zero is success, right? */ }