From: Sebastian R. <se...@ho...> - 2001-06-21 11:31:27
|
I have some problems getting fputc() to work in the mingw distribution. I may be that I ignore some essential parts of the documentation, but I belive otherwise. I downloaded and installed MinGW-1.0-20010608 and compiled the program below. I also compiled it using standard gcc on a SunOS machine. When running both programs I redirected stdout to a file. The resulting files differed. The file at my w32 machine contained the bytes 13 and 10 while the file at the SunOS machine just contained the expected byte of value 10. I belive that this is due to som conversion of \n and/or \r, but I can not (using man pages) find out how or why? Is fputc() not the appropriate way to write binary to stdout? I also looked at opening stdout with fdopen() or freopen(), but I can not get that to give correct results either. Ideas? Please CC me as I'm not currently subscribing to the mailing list. #include <errno.h> #include <stdio.h> void error(int err) { fprintf(stderr, "ERRNO=%d\n", err); fprintf(stderr, "Exiting...\n"); exit(1); } int main() { FILE *stream = stdout; if (fputc(10, stream) == EOF) error(errno); else fprintf(stderr, "Wrote byte of value 10 to stdout!\n"); if (fflush(stream) == EOF) error(errno); else fprintf(stderr, "Flushed stdout!\n"); } / Sebastian Rasmussen _________________________________________________________________________ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. |