I wanted to make a simple program that writes chracters in a file but i didnt want to press enter .So i found the getchar which doesnt need enter.If i pass (int) getchar to putc ,in the file it shows a P character.The (int) getchar says it is equal to1734747216 so i do (int) getchar-1734747216 and it gives -62259200 and i cant understand why doesnt it give 0 and what is the P symbol since i didnt press any button?So i found that P symbol is the value of (char*)getchar and i wrote this code
Also if i change the != with == then the txt has iside it a P symbol as expected but the one with the != still doesnt work as expected
by me
Last edited by fireblast; 12-05-2010 at 12:43 AM..
1. getchar is an function, not a variable. So, probably you have to use getchar() instead of getchar. This explains the weird value of getchar.
2. getchar returns the integer _value_ of character entered. Casting variables compare and temp to (*char) is wrong. Just leave them as int.
3. The comparison of compare and temp will not work because characters will be analysed by program on after flushing the buffer (<ENTER> was pressed).
The following code writes characters to the file. (You need to press <ENTER> once before entering EOF - <CTRL>D in UNIX <CTRL>Z in Windows)
Quote:
Originally Posted by fireblast
I wanted to make a simple program that writes chracters in a file but i didnt want to press enter .So i found the getchar which doesnt need enter.If i pass (int) getchar to putc ,in the file it shows a P character.The (int) getchar says it is equal to1734747216 so i do (int) getchar-1734747216 and it gives -62259200 and i cant understand why doesnt it give 0 and what is the P symbol since i didnt press any button?So i found that P symbol is the value of (char*)getchar and i wrote this code
Also if i change the != with == then the txt has iside it a P symbol as expected but the one with the != still doesnt work as expected
by me
Also, you're wrong. getchar does wait for you to press enter.
I said "The following code writes characters to the file. (You need to press <ENTER> once before entering EOF - <CTRL>D in UNIX <CTRL>Z in Windows)"
Can you, please tell me in what I am wrong?
Im a newbie to programming language, i found tat there r these function called printf and putchar() as well as scanf and getchar(), im curious abt why do dey hav these 2 different function although dey r doing the same instruction? :confused: (13 Replies)
Hi,
What happens to process state when getchar() is called? I wrote a C code in which I call getchar() somewhere down the road. I forgot about that, I started the process, put it in bg and disowned it using "disown". Now, how do I see where that process has gone/how do kill it?
Thanks,
Amrut (1 Reply)
Hi,
I would like to read an input from keyboard using getchar. However, if no input (No Carriage return/new line none whatsoever) is given after say, 5 seconds, I would like to skip the getchar and move on. How do I do this in C. I'm using GNU compiler set.
Thanks, (5 Replies)
There's a replacement in bash for getchar or get functions of C and C++?Those functions read the next char avaliable in the input stream.
I've tried something like:
OLD_STTY=`stty -g`
stty cbreak -echo
look=`dd if=/dev/tty bs=1 count=1 2>/dev/null`
stty $OLD_STTY
But it is not working... (3 Replies)
hey everyone!
got another problem here.
how would i use the getchar() in a prompt:
Press any key to continue
the way i did it was to define a char variable named ch
and then wrotechar ch
...
ch = getchar();
printf("Press any key to continue");
getchar():if you press enter it exits, but... (2 Replies)