Plain ordinary scanf() isn't guaranteed to scan an entire line. %i will scan up to the point where the input stops being digits, in this case, the newline, after which standard input needs to be flushed to get rid of it.
Instead, I reccomend using fgets to input an entire line. That way there's never anything to flush.
But since you're processing the entire string byte by byte, why use scanf at all? Just check it byte by byte:
I need a script to halt at the end and wait for the user to hit a key...could be any ket or enter. I know it can be done but I am just starting out.. Thanks (9 Replies)
Hi All,
I am new to shell script.
I wrote a very small script that takes only digits as input-
but there is some problem in that.can you help me in debugging that.
#!/bin/ksh
echo "Digits as input"
read number
digit='eval '
if ]
then
echo "Entered number is a digit"
else
echo... (2 Replies)
Hi there,
I am new to scripting. Can anyone help me in writing a script which will display all the digits between 1 and 5 inclusive, one digit per line. Should use a loop to do this.
Thanks in advance!! (3 Replies)
I want to check the argument in KSH. If the user type in the prompt 'find 3' it will format 3 to 003 to match the data in the text file. Same as with 10 to 010. Always begins with 0.
eg.
>find 3
Output:
003
>find 30
Output:
030 (7 Replies)
hi group,
How can I count total number of 5's which are continuous in the end. i.e. in the below string, the o/p should be 4
I just know to calculate total number of 5's
$ echo "95952325555" | awk -F "5" '{print NF-1}'
6 (3 Replies)
Hi Folks
Probably an easy one here but how do I get a sequence to get used as mentioned. For example in the following I want to automatically create files that have a 2 digit number at the end of their names:
m@pyhead:~$ for x in $(seq 00 10); do touch file_$x; done
m@pyhead:~$ ls file*... (2 Replies)
Hello all! I've looked all over the internet and this site and have come up a loss with an easy way to make a bash script to do what I want to do. I have a file with a naming convention as follows:
2012-01-18 string of words here 123.jpg
2012-01-18 string of words here 1234.jpg
2012-01-18... (2 Replies)
Hello everybody
I'm a little beginer for shell script as I started last night...
I have this script
cat fichier.txt | while read l ; do
#echo $l
echo $x
x=$(( $x + 1 ))
done
it's return
1
2
3
4 (4 Replies)
Hi All ,
I am having an input file as stated below
5728 U_TOP_LOGIC/U_CM0P/core/u_cortexm0plus/u_top/u_sys/u_core/r03_q_reg_20_/Q 011
611 U_TOP_LOGIC/U_CM0P/core/u_cortexm0plus/u_top/u_sys/u_core/r04_q_reg_20_/Q 011
3486... (4 Replies)
Discussion started by: kshitij
4 Replies
LEARN ABOUT BSD
gcvt
ECVT(3) Library Functions Manual ECVT(3)NAME
ecvt, fcvt, gcvt - output conversion
SYNOPSIS
char *ecvt(value, ndigit, decpt, sign)
double value;
int ndigit, *decpt, *sign;
char *fcvt(value, ndigit, decpt, sign)
double value;
int ndigit, *decpt, *sign;
char *gcvt(value, ndigit, buf)
double value;
char *buf;
DESCRIPTION
Ecvt converts the value to a null-terminated string of ndigit ASCII digits and returns a pointer thereto. The position of the decimal
point relative to the beginning of the string is stored indirectly through decpt (negative means to the left of the returned digits). If
the sign of the result is negative, the word pointed to by sign is non-zero, otherwise it is zero. The low-order digit is rounded.
Fcvt is identical to ecvt, except that the correct digit has been rounded for Fortran F-format output of the number of digits specified by
ndigits.
Gcvt converts the value to a null-terminated ASCII string in buf and returns a pointer to buf. It attempts to produce ndigit significant
digits in Fortran F format if possible, otherwise E format, ready for printing. Trailing zeros may be suppressed.
SEE ALSO printf(3)BUGS
The return values point to static data whose content is overwritten by each call.
7th Edition May 15, 1985 ECVT(3)