03-12-2013
Never a fan of strtok() or *scanf myself, debugging too many core dumps, I guess, especially in C++ (stateful subroutines in OO, ooooh!). I would fgets() lines into a char array and then process them as follows. If the byte is not a number part (strchr( " ,\t\n\r\f", this_char ), strchr( "1234567890-.", this_char) -- I like the positive test), set it to null and reset the in-number flag, else if it is, then if the in-number flag is not set, record the address in a char*[], increment the index on that array and set the in-number flag. When you are done, you have an array of pointers to null terminated character strings of numbers to atof() in the processing layer, with the index telling you the count of numbers found.
I would not read 4k into a 1k buf. fgets( buf, sizeof( buf ), stdin ) ?
Every fgets needs a "line too long" check to be stable. WHne this occurs, the last buffer byte is null and then preceeding one is not a line feed. Seed the buffer tail, rather than pawing over the line an additional time, for a quick check. Put it all in a nice subroutine p_fgets() (private fgets) with if ! fgets() if ferror() perror( "stdin" ); exit 1; else exit 0;
Last edited by DGPickett; 03-12-2013 at 03:19 PM..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I want to read only one column in "|" delimited file and write that column to a new file.
For Ex:
Input File
1|abc|324|tt
2|efd|11|cbcb
3||1|fg
4|ert|23|88
Output : I want to read column 3 in diff file.
324
11
1
88
Can anyone give me inputs on this ? (2 Replies)
Discussion started by: net
2 Replies
2. Shell Programming and Scripting
hello,
I will would be grateful if anyone can help me reply to my post
extract multiple cloumns from multiple files; skip rows and include filenames; awk
Please see this thread.
Thanks
manishabh (0 Replies)
Discussion started by: manishabh
0 Replies
3. Web Development
Say I have two tables like below..
status
HId sName dName StartTime EndTime
1 E E 9:10 10:10
2 E F 9:15 10:15
3 G H 9:17 10:00
logic
Id devName capacity free Line
1 E 123 34 1
2 E 345 ... (3 Replies)
Discussion started by: ilan
3 Replies
4. Shell Programming and Scripting
Hi fellas,
I have two files such as:
File 1
interacao,AspAsp,AspCys,CysAsp,CysCys,classe
File 2
interacao,AspAsp,CysAsp,AspCys,CysCys,classe
beta_alfa, DA, CA, DD, CD,ppi
Thus, I want to make a File 3 using the File 1 as model:
e.g.
File 3... (2 Replies)
Discussion started by: valente
2 Replies
5. Shell Programming and Scripting
Hi,
Input
7488 7389 chr1.fa chr1.fa
3546 9887 chr5.fa chr9.fa
7387 7898 chrX.fa chr3.fa
7488 7389 chr21.fa chr3.fa
7488 7389 chr1.fa chr1.fa
3546 9887 chr9.fa chr5.fa
7898 7387 chrX.fa chr3.fa
Desired Output
7488 7389 chr1.fa chr1.fa 2
3546 9887 chr5.fa chr9.fa 2... (2 Replies)
Discussion started by: jacobs.smith
2 Replies
6. Shell Programming and Scripting
Hi,
input file1
abcd 123 198 xyz1:0909090-0909091
ghij 234 999 xyz2:987654:987655
kilo 7890 7990 xyz3:12345-12357
prem 9 112 xyz5:97-1134
input file2
abcd 123 198 xyz1:0909090-0909091 -9.122 0
abed 88 98 xyz1:98989-090808 -1.234 1.345
ghij 234 999 xyz2:987654:987655 -10.87090909 5... (5 Replies)
Discussion started by: jacobs.smith
5 Replies
7. Shell Programming and Scripting
Hello,
I would like to ask for help with csh script.
An example of an input in .txt file is below, the number of lines varies from file to file and I have 2 or 3 columns with values. I would like to read all the values (probably one by one) and set them to independent unique variables that... (7 Replies)
Discussion started by: FMMOLA
7 Replies
8. Shell Programming and Scripting
Hi, all.
How can I split all columns into multiple columns separated by tab?
Input:
qq ee TT 12 m1
aa gg GG 34 2u
zz dd hh 56 4h
ww cc JJ 78 5y
ss ff kk 90 j8
xx pp mm 13 p0
Output:
q q e e T T 1 2 m 1
a a g g G G 3 4 2 u
z z d d h h 5 6 4 h
w w c c J J 7 8 5 y (8 Replies)
Discussion started by: huiyee1
8 Replies
9. Shell Programming and Scripting
Hello Gurus,
I have a multiple pipe separated files which have records going over multiple Lines. End of line separator is \n and records going over multiple lines have <CR> as separator. below is example from one file.
1|ABC DEF|100|10
2|PQ
RS
T|200|20
3| UVWXYZ|300|30
4| GHIJKL|400|40... (7 Replies)
Discussion started by: dJHa
7 Replies
10. Shell Programming and Scripting
Hello,
Please help in how to read rows and columns using array and print them.
I have below output and i want to store this in array and print the required rows or columns.
aaaaaaa 123
bbbbbb 456
ccccccc 888
Use code tags, thanks. (1 Reply)
Discussion started by: Cva2568
1 Replies
scroll(3NCURSES) scroll(3NCURSES)
NAME
scroll, scrl, wscrl - scroll a curses window
SYNOPSIS
#include <curses.h>
int scroll(WINDOW *win);
int scrl(int n);
int wscrl(WINDOW *win, int n);
DESCRIPTION
The scroll routine scrolls the window up one line. This involves moving the lines in the window data structure. As an optimization, if
the scrolling region of the window is the entire screen, the physical screen may be scrolled at the same time.
For positive n, the scrl and wscrl routines scroll the window up n lines (line i+n becomes i); otherwise scroll the window down n lines.
This involves moving the lines in the window character image structure. The current cursor position is not changed.
For these functions to work, scrolling must be enabled via scrollok.
RETURN VALUE
These routines return ERR upon failure, and OK (SVr4 only specifies "an integer value other than ERR") upon successful completion.
X/Open defines no error conditions.
This implementation returns an error if the window pointer is null, or if scrolling is not enabled in the window, e.g., with scrollok.
NOTES
Note that scrl and scroll may be macros.
The SVr4 documentation says that the optimization of physically scrolling immediately if the scroll region is the entire screen "is" per-
formed, not "may be" performed. This implementation deliberately does not guarantee that this will occur, to leave open the possibility of
smarter optimization of multiple scroll actions on the next update.
Neither the SVr4 nor the XSI documentation specify whether the current attribute or current color-pair of blanks generated by the scroll
function is zeroed. Under this implementation it is.
PORTABILITY
The XSI Curses standard, Issue 4 describes these functions.
SEE ALSO
ncurses(3NCURSES), outopts(3NCURSES)
scroll(3NCURSES)