From: nobu.nokada@... Date: 2002-12-06T12:15:41+09:00 Subject: Re: Best way to read data? Hi, At Fri, 6 Dec 2002 02:28:08 +0900, christopher.j.meisenzahl@citicorp.com wrote: > while(line = gets) > p line > end > > I'm getting: > C:\tmp>2.rb < "data.dat" > C:\tmp\2.rb:1:in `gets': Bad file descriptor (Errno::EBADF) > from C:\tmp\2.rb:1 > > Using Win2K. :-( It's a problem of cmd.exe which doesn't pass the standard input handle when opening an associated file. c:\home\nobu> type foo.c #include #include int main() { printf("stdin=%x\n", GetStdHandle(STD_INPUT_HANDLE)); return 0; } c:\home\nobu> $ gcc -mno-cygwin foo.c -o foo.exe c:\home\nobu> ftype foo=c:\home\nobu\foo.exe foo=c:\home\nobu\foo.exe c:\home\nobu> assoc .foo=foo .foo=foo c:\home\nobu> echo. > 1.foo c:\home\nobu> 1.foo stdin=0 c:\home\nobu> foo stdin=150 -- Nobu Nakada