> Hi,
>
> My problem is ctrl-d or ctrl-z das not send the EOF(end of file signal) to
> the program running (I get ^z or ^d on the screen).
> The sys. is slackware8.0 KDE emacs g++.
> As I'm desperate ;>)
> On a win2000 with MS. visual 6.0 & dev-c++ not working too.
>
> Any help is appreciated.
>
> Thank,
> Jeff
> #include <iostream.h>
>
> void main()
> {
>
> int sum = 0, num;
> cout << " enter a #";
> cin >> num;
> while (!cin.eof())
> {
> sum = sum + num;
> cout << " enter a #";
> cin >> num;
> }
> cout << "sum:" << sum <<endl;
> }
>
(1)
It is working here:
$ ./main
enter a #1
enter a #2
enter a #sum:3
$
(Contrary to what your program says if I enter a `#' character at the
prompt I get an infinite loop. It only work with an input of integers.)
(2)
$ g++ -Wall -o main main.cc
main.cc:4: return type for `main' changed to `int'
$
Does not main expected to return int, not void?
(3)
As far as I know ^D is not a signal in the UNIX sense of the term. And
usually ^Z is the EOF sign in DOS environment. With UNIX the usual
meaning is suspend.
(4)
If ^D is not working you might have a problem with the keyboard
settings or that you assign the EOF for another keyboard combination.
What does stty -a says? For my machine,
$ stty -a | grep eof
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
$
(And for ^Z:
$ stty -a | grep susp
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase =
^W;
$
)
--
Shaul Karl
email: shaulka(at-no-spam)bezeqint.net
Please substitute (at-no-spam) with an at - @ - character.
(at-no-spam) is meant for unsolicitate mail senders only.
--------------------------------------------------------------------------
Haifa Linux Club Mailing List (http://linuxclub.il.eu.org)
To unsub send an empty message to [EMAIL PROTECTED]