Sponsored Content
Full Discussion: How to skip getchar in C?
Top Forums Programming How to skip getchar in C? Post 302459425 by cprogdude on Monday 4th of October 2010 03:59:05 PM
Old 10-04-2010
Quote:
Originally Posted by Corona688
You can't do this with getchar(), you'll have to use read() instead. More details in a bit.

---------- Post updated at 03:31 PM ---------- Previous update was at 03:19 PM ----------

This should timeout at 5 seconds. The timeout happens in the terminal itself.

Code:
#include <stdio.h>
#include <unistd.h>

int main(void)
{
        int c;
        // Save sane TTY settings
        system("stty -g > ~/.stty-save");
        // Set TTY timeout of 50 tenths of a second, minimum read size 0
        system("stty -icanon min 0 time 50");

        while(read(STDIN_FILENO, &c, 1) == 1)
        {
                fprintf(stderr, "read 1 bytes\n");
        }

        // Restore sane tty settings
        system("stty $(cat ~/.stty-save)");
        return(0);
}


Thanks man. I use "select" it works but the problem is I'm unable to flush my input stream. How do I do that?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

getchar()

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)
Discussion started by: primal
2 Replies

2. BSD

FreeBSD skip UserConfig...

When I boot FreeBSD from cd/floppy, it skips the UserConfig program. I have no idea why! And if I skip this step, my hardware won't work. ( I already tried...) Can anyone help me with this??? (2 Replies)
Discussion started by: Enoch Chan
2 Replies

3. Shell Programming and Scripting

Skip new line

Hi, how can I skip the new line of echo? In SH!!!! echo "the date is :" date and result I want is the date is : Tue Oct 11 22:24:37 WEST 2005 I've already tried including the \c inside the echo, but it didn't work. Thanks! (2 Replies)
Discussion started by: pmpx
2 Replies

4. Shell Programming and Scripting

Bash replacement to getchar

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)
Discussion started by: Asafe
3 Replies

5. Shell Programming and Scripting

go to / skip in script

Hi all I have some script like this #!/bin/bash mv /tmp/file1 tmp/file2 if ] ; then cp /tmp/filetest/ tmp/file3 if ] then echo "succes" else echo "failed" fi else echo "failed" fi i didn't try to see if it's work, the thing is that i don't care if... (4 Replies)
Discussion started by: naamas03
4 Replies

6. Programming

Help on getchar

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... (4 Replies)
Discussion started by: fireblast
4 Replies

7. Programming

How to kill disowned process which calls getchar() in code

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)
Discussion started by: 17amrut29
1 Replies

8. UNIX for Advanced & Expert Users

Skip files in use

Hi all, i'm trying to configure a script that will find and gzip the searched files, this is easy enough, find /var/log/myfolder/*.log -type f -mtime +1 -exec gzip {} \; cd /var/log/myfolder/ mv *gz myzipped_folder/ but what it would be very handy is to skip the files in use,because tomcat... (13 Replies)
Discussion started by: charli1
13 Replies

9. Programming

What is the difference between printf and putchar() or scanf and getchar() ?

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)
Discussion started by: kris26
13 Replies

10. Shell Programming and Scripting

Skip first and last line

Hi All I have a sample file like below: 012312112 1372422843 1236712 1372422843 1275127 3109301010 from which I wan't to: 1.)delete... (10 Replies)
Discussion started by: swasid
10 Replies
GETC(3) 						   BSD Library Functions Manual 						   GETC(3)

NAME
fgetc, getc, getchar, getc_unlocked, getchar_unlocked, getw -- get next character or word from input stream LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdio.h> int fgetc(FILE *stream); int getc(FILE *stream); int getchar(); int getc_unlocked(FILE *stream); int getchar_unlocked(); int getw(FILE *stream); DESCRIPTION
The fgetc() function obtains the next input character (if present) from the stream pointed at by stream, or the next character pushed back on the stream via ungetc(3). The getc() function acts essentially identically to fgetc(), but is a macro that expands in-line. The getchar() function is equivalent to: getc with the argument stdin. The getc_unlocked() and getchar_unlocked() functions provide functionality identical to that of getc() and getchar(), respectively, but do not perform implicit locking of the streams they operate on. In multi-threaded programs they may be used only within a scope in which the stream has been successfully locked by the calling thread using either flockfile(3) or ftrylockfile(3), and may later be released using funlockfile(3). The getw() function obtains the next int (if present) from the stream pointed at by stream. RETURN VALUES
If successful, these routines return the next requested object from the stream. If the stream is at end-of-file or a read error occurs, the routines return EOF. The routines feof(3) and ferror(3) must be used to distinguish between end-of-file and error. If an error occurs, the global variable errno is set to indicate the error. The end-of-file condition is remembered, even on a terminal, and all subsequent attempts to read will return EOF until the condition is cleared with clearerr(3). SEE ALSO
ferror(3), flockfile(3), fopen(3), fread(3), ftrylockfile(3), funlockfile(3), putc(3), ungetc(3) STANDARDS
The fgetc(), getc() and getchar() functions conform to ANSI X3.159-1989 (``ANSI C89''). The getc_unlocked() and getchar_unlocked() functions conform to ISO/IEC 9945-1:1996 (``POSIX.1''). BUGS
Since EOF is a valid integer value, feof(3) and ferror(3) must be used to check for failure after calling getw(). The size and byte order of an int varies from one machine to another, and getw() is not recommended for portable applications. BSD
April 25, 2001 BSD
All times are GMT -4. The time now is 03:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy