Help answer threads with 0 replies.
Go Back > Forums > Non-*NIX Forums > Programming
User Name
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.


  Search this Thread
Old 11-28-2003, 04:26 AM   #1
Registered: Mar 2003
Location: UK Darlington
Distribution: Fedora Freebsd Centos
Posts: 288

Rep: Reputation: 31
C++ and very confused

1stly I've searched the forum and read relevant post and am still none the wiser!!! I am currently trying to learn C++, and at college we use the M$ compiler and at home I have Bloodshed and Redhat 9. A task was to use buffered and unbuffered input and output. The functions given with a brief explanation were:- _kbhit , ungetch , getch , getche , putch , and cputs to start with.

//Example of _kbhit

#include <stdio.h>
#include <conio.h>

int main()
cputs ("Hit any character ket when ready\n");
while (! _kbhit())
; //inifinite loop til a key pressed
cputs("The key pressed was ");
return 0;

The above works fine on bloodshed and M$ but gives numerous errors when compiling with g++, any help will be greatly aprecited!!

Thanx in advance......
Old 11-28-2003, 05:21 AM   #2
Registered: Oct 2003
Location: Australia
Distribution: Redhat 9
Posts: 95

Rep: Reputation: 15
OK, the answer is rather simple (once you know the answer )

The funtions _kbhit , ungetch, etc, are provided with the conio library. This is specific dos, (although may have been ported to other platforms (?)).

Under linux the common replacement in the curses/ncurses libraries

Some links

If you must use conio functions (I wouldn't) I found this on google.

If you are learning C++, you are probably better off to use the iostream libraries.

Some reference:


Last edited by mr_segfault; 11-28-2003 at 05:25 AM.
Old 11-28-2003, 05:26 AM   #3
Registered: Sep 2003
Location: Pune, India
Distribution: Red Hat
Posts: 106

Rep: Reputation: 15
First thing that you should know is that C on Linux/*nix is different than C on M$. Programs written for M$ cannot be so easily ported on the Linux/*nix and vice-versa. So, header files,functions and system calls which you have used on M$ may or maynot be available on Linux/*nix(like conio.h, kbhit() etc). So, the best way which I can think of is to get hold of a good book/docs which teaches c/c++ on linux. This will be much better I suppose. Hope this helps
Old 11-28-2003, 05:41 AM   #4
Registered: Oct 2003
Location: Australia
Distribution: Redhat 9
Posts: 95

Rep: Reputation: 15
The best thing to do is learn the standard to then know what is portable and what is not. Then you can abstract the non portable implementation away from the 'real' code..

Marshall Cline, has a book (the real paper back one, not the online lite version) covers most of the important aspects of using the C++ standard and I recommend it to all programmers (not only C++ programmers).

C++ FAQ Second Edition

And The C++ Professional Handbook covers the standard to a technically detailed level (down to some specific compiler implementation details). And is another book I would recommend to every C++ programmer.

Old 11-28-2003, 01:49 PM   #5
Registered: Apr 2002
Posts: 549

Rep: Reputation: 30
When it comes to C++, the ONE book u must read is The C++ Programming Language by Bjarne Stroustrup.
Old 11-28-2003, 01:58 PM   #6
Registered: Nov 2003
Location: Ronneby, Sweden
Posts: 555

Rep: Reputation: 30
Originally posted by ugenn
When it comes to C++, the ONE book u must read is The C++ Programming Language by Bjarne Stroustrup.
Can't disagree more. That is definitely not a book to give someone who's a C++ newbie. I know, cause I've been through that purgatory.

A much better book for beginners would be C++ Primer by Stanley B. Lippman and Josée Lajoie.

That said, Stroustrup's book is a good reference material for one reason -- since Bjarne is C++, if his book says one thing and the compiler disagrees, then the compiler needs to be changed.



Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Very confused unkn0wnhacka Linux - General 12 07-20-2005 09:44 AM
Please help, I'm so confused sdat1333 SUSE / openSUSE 4 12-11-2004 09:23 PM
confused FrozenPenquin Linux - Newbie 26 12-09-2003 09:27 AM
so confused... KeTrueno Linux - General 1 09-28-2003 01:45 PM
Confused pilotgi Linux - Newbie 9 04-20-2002 12:06 AM > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 01:26 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration