01-01-2009
[C] fgets problem with SIGINT singlal!!!
Hi all,
I have this method to read a string from a STDIN:
PHP Code:
void readLine(char* inputBuffer){
fgets (inputBuffer, MAX_LINE, stdin);
fflush(stdin);
/* remove '\n' char from string */
if(strlen(inputBuffer) != 0)
inputBuffer[strlen(inputBuffer)-1] = '\0';
}
All work fine but if i catch SIGINT signal (CTRL+C) with this method:
PHP Code:
void handle_SIGNINT(){
/* here i don't want exit with program!!! */
}
i would like that "fgets's wait" was released when there is a signal....now to realese it i need press ENTER KEY!!!, how can i do in automate?
can i "simulate" the ENTER key pressed writing a particular ASCII char into STDIN???
Thanks a lot in advance, Martin
10 More Discussions You Might Find Interesting
1. Programming
does anyone knows how to accept a command from a user.. i was wondering to use fgets(), but got no idea how to start it... (4 Replies)
Discussion started by: skanky
4 Replies
2. Programming
Hello Friends,
I got stuck with fgets () & rewind() function .. Please need help..
Actually I am doing a like,
The function should read lines from a txt file until the function is called..
If the data from the txt file ends then it goes to the top and then again when the function is called... (1 Reply)
Discussion started by: user_prady
1 Replies
3. Programming
For a program I am designing, which involves handling the keyboard input Ctrl^c (SIGINT), it is taking ages for the program to actually recognise and perform the corresponding action whenever I run it and hit Ctrl^C at the CL. I have to do at least 3 Ctrl^Cs before the program will actually... (3 Replies)
Discussion started by: JamesGoh
3 Replies
4. Programming
Assume client send the message " Hello ", i get output such as
Sent mesg: hello
Bytes Sent to Client: 6
bytes_received = recv(clientSockD, data, MAX_DATA, 0);
if(bytes_received)
{
send(clientSockD, data, bytes_received, 0);
data = '\0';... (2 Replies)
Discussion started by: f.ben.isaac
2 Replies
5. Shell Programming and Scripting
I've written a bash script which captures video with DVgrab. Because of the nature of the tapes that I am digitizing, sometimes I want to quit capturing before the time that I set for DVgrab. When this is the case I press Ctrl-c and DVgrab exits cleanly, my problem is that there is additional... (5 Replies)
Discussion started by: Starcast
5 Replies
6. Programming
hi,
in my application, i have set up to capture SIGINT and execute a handler.the problem is whenever i hit C-c, multiple SIGINT are sent to the application.I have blocked the SIGINT right after catching the first one but it is unsuccessful.Here is what i do :
jmp_buf main_loop;
int... (1 Reply)
Discussion started by: Sedighzadeh
1 Replies
7. Programming
I've been having trouble with reading past the end-of-file in C. Can anyone find my stupid mistake?
This is the minimal code needed to cause the error for me:
FILE *f = fopen(name, "r");
if (!f)
return;
pari_sp ltop = avma;
char line;
while(fgets(line, 1100, f) != NULL)
printf(".");... (23 Replies)
Discussion started by: CRGreathouse
23 Replies
8. Programming
hello,
i'm trying to write a C-program that reads a file line by line.
(and searches each line for a given string)
This file is an special ASCII-database-file, with a lot of entries.
I checked the line with most length, and it was about 4000 characters.
With google i found several... (4 Replies)
Discussion started by: p1cm1n
4 Replies
9. UNIX for Dummies Questions & Answers
May i know what are the possible causes for SIGINT other than ctrl-c?
Thanks (17 Replies)
Discussion started by: pandeesh
17 Replies
10. Shell Programming and Scripting
The following command will run and wait for input from the user.
/usr/sap/SAP/webdisp/wdispmon pf=/usr/sap/SAP/webdisp/profile
What I would like to do is (in one command):
- Add the above line to a ksh script
- Receive the output
- and send a SIGINT
I have seen many posts on how to... (3 Replies)
Discussion started by: sapsid
3 Replies
FGETS(3) BSD Library Functions Manual FGETS(3)
NAME
fgets, gets -- get a line from a stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdio.h>
char *
fgets(char *restrict s, int n, FILE *restrict stream);
char *
gets(char *s);
DESCRIPTION
The fgets() function reads at most one less than the number of characters specified by n from the given stream and stores them in the string
s. Reading stops when a newline character is found, at end-of-file or error. The newline, if any, is retained. If any characters are read
and there is no error, a '