04-25-2005
standard input is getting buffered.
To resolve , you should stop stdin buffering. Try the following
setbuf(stdin,NULL) after scanf statement.
Moreover, atoi expects a character pointer or string. So, when you type 6 and Enter(i.e. NL) NL which is 10 in decimal is getting buffered. Due to this 10 which satifies your while loop, it is displaying twice.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have the following problem. The file contains many lines already sorted according to their first arguments. Some of these first arguments are repetitive. For each first argument value, I need to keep the first and the last line that contain it. For example,
...
1 234
1 348
...
...
5 483... (2 Replies)
Discussion started by: jijibabawu
2 Replies
2. Shell Programming and Scripting
looking for a bit of help with sed.
I have a file that looks a bit like this:
sdfghhjk
asdfdfghgj
asdfhgghj
werdfvtfh
edftbgh
1211211221
sdffgfm
dfghnhjm
dfvfsgbgh
adsfv bdhgn
1111111dffg
dfv1122
dsgvbghn111111
fffffffgbdghn
fffffff
sfgh3333gs vdf (5 Replies)
Discussion started by: robsonde
5 Replies
3. Programming
I was using vim about an hour ago doing abit of python (i only just started using vim). And I think i typed something wrong, and all of a sudden the letter i is always highlighted. Turning syntax off and on didn't work. and i couldent find the solution online.
Thanks in advanced. (1 Reply)
Discussion started by: vimhelp
1 Replies
4. Shell Programming and Scripting
Hi,
I am using a mail application, When I use to check with the command, I will get the outputs as
q -s
6128175 (9, 9/6128175)
Return-path: minka.bell@abcd.org
From: "Minka Bell" <minka.bell@abcd.org>
To: <dcrouch@xyz.org>,
Subject: Open items with new PICT system
Date: Wed,... (12 Replies)
Discussion started by: gsiva
12 Replies
5. Shell Programming and Scripting
I have a list like this:
todu
todo
tofe
tafo
I want to grep only the lines where the 2nd and the 4th character are the same.
In this case I would get only "todo".
Thanks. (3 Replies)
Discussion started by: rlopes
3 Replies
6. Shell Programming and Scripting
I have this script that routinely ssh into another host to collect data from that host.
However we have these annoying boilerplates on all our machines that flood the screen from all the ssh's.
Any way to filter this stdout but allow all the other stdout? In other words, the second you ssh... (4 Replies)
Discussion started by: stevenswj
4 Replies
7. Shell Programming and Scripting
Hi below is the input file, i need to find repeated words and sum up the values of it which is second field from the repeated work.Im trying but getting no where close to it.Kindly give me a hint on how to go about it
Input
fruits,apple,20,fruits,mango,20,veg,carrot,12,veg,raddish,30... (11 Replies)
Discussion started by: 100bees
11 Replies
8. Shell Programming and Scripting
Hi all
if i want to get the 3 lines of the most repeated lines here
tony,1,x
tony,1,x
tony,2,x
tony,2,x
tony,3,x
tony,4,x
tony,5,x
adam,1,y
to get output
tony,1,x
tony,2,x
tony3,x
adam,1,y (3 Replies)
Discussion started by: teefa
3 Replies
9. Shell Programming and Scripting
Hi all ,
i want to get the most repeated column in my file
File:
name,ID
adam,12345 ----1
adam,12345 ----2
adam,934
adam,12345 ----3
john,14
john,13
john,25 ----1
john,25 ----2
tom,1 -----1
tom,2 -----1
so my output to be (5 Replies)
Discussion started by: teefa
5 Replies
10. UNIX for Dummies Questions & Answers
I have a requirement where I have to read the lines between a repeated string
FileName: abc.txt
ls /data/abc.txt
1
2
#ZENCO
3
4
5
6
#ZENCO
11
213
454
7
#ZENCO (8 Replies)
Discussion started by: eskay
8 Replies
LEARN ABOUT SUNOS
setlinebuf
setbuffer(3C) Standard C Library Functions setbuffer(3C)
NAME
setbuffer, setlinebuf - assign buffering to a stream
SYNOPSIS
#include <stdio.h>
void setbuffer(FILE *iop, char *abuf, size_t asize);
int setlinebuf(FILE *iop);
DESCRIPTION
The setbuffer() and setlinebuf() functions assign buffering to a stream. The three types of buffering available are unbuffered, block
buffered, and line buffered. When an output stream is unbuffered, information appears on the destination file or terminal as soon as writ-
ten; when it is block buffered, many characters are saved and written as a block; when it is line buffered, characters are saved until
either a NEWLINE is encountered or input is read from stdin. The fflush(3C) function may be used to force the block out early. Normally all
files are block buffered. A buffer is obtained from malloc(3C) upon the first getc(3C) or putc(3C) performed on the file. If the standard
stream stdout refers to a terminal, it is line buffered. The standard stream stderr is unbuffered by default.
The setbuffer() function can be used after a stream iop has been opened but before it is read or written. It uses the character array abuf
whose size is determined by the asize argument instead of an automatically allocated buffer. If abuf is the null pointer, input/output
will be completely unbuffered. A manifest constant BUFSIZ, defined in the <stdio.h> header, tells how large an array is needed:
char buf[BUFSIZ];
The setlinebuf() function is used to change the buffering on a stream from block buffered or unbuffered to line buffered. Unlike set-
buffer(), it can be used at any time that the stream iop is active.
A stream can be changed from unbuffered or line buffered to block buffered by using freopen(3C). A stream can be changed from block
buffered or line buffered to unbuffered by using freopen(3C) followed by setbuf(3C) with a buffer argument of NULL.
RETURN VALUES
The setlinebuf() function returns no useful value.
SEE ALSO
malloc(3C), fclose(3C), fopen(3C), fread(3C), getc(3C), printf(3C), putc(3C), puts(3C), setbuf(3C), setvbuf(3C)
NOTES
A common source of error is allocating buffer space as an "automatic" variable in a code block, and then failing to close the stream in the
same block.
SunOS 5.10 13 May 1997 setbuffer(3C)