OT: Trying to learn C -- some questions
David Fleck
david.fleck at mchsi.com
Thu Nov 25 18:29:20 PST 2004
On Thu, 25 Nov 2004, Tom Parquette wrote:
> I'm trying to learn ANSI C using a book circa 1994. It is written from
> a DOS perspective. Someone at work, who knows a little C, told me that
> the book was "close enough".
I think they are probably wrong.
> 1) gcc complains that <conio.h> was not found. If I comment out the
> #include, the program compiles. Is this a DOSism or something else?
I don't know if it's a DOSism, but it's definitely not a standard header
file in the UNIX world. I've never encountered it outside of Microsoft
systems.
> 2) fprintf is described with stdprn being valid for a default printer. This
> does not seem to be valid in, at least, the FreeBSD world. man fprintf did
> not really help. I believe I have to create a stream for the print but I'm
> not clear on how to do it.
Sorry, not sure about this, but again, it sounds like a DOS (or MS)
specific implementation.
> 3) gets() is used in a number of places. Using this gets me:
> /var/tmp//cciWrf9n.o(.text+0x20d): In function `get_data':
> : warning: warning: this program uses gets(), which is unsafe.
'gets()' will still work, but its use isn't advised. If you're just using
it in test programs, though, it's not a big deal.
> 4) A couple of the home work assignments use getch(). I figured out from the
> getch man page that I needed "#include <curses.h>" but that changes the
> errors to:
> /var/tmp//cc1GEzyG.o(.text+0x6a): In function `main':
> : undefined reference to `stdscr'
> /var/tmp//cc1GEzyG.o(.text+0x6f): In function `main':
> : undefined reference to `wgetch'
> I do not know what header file I should be including.
> Or is there something else I'm not understanding?
I think the real problem hear is that the getch() the example is
referencing is actually a function found in conio.h. The getch() in
curses probably isn't the one you want anyway.
(Ref.: http://lists.apple.com/archives/mpw-dev/2001/Aug/msg00182.html)
--
David Fleck
david.fleck at mchsi.com
More information about the freebsd-questions
mailing list