Visit Our UNIX and Linux User Community


how fscanf every two data


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers how fscanf every two data
# 1  
Old 09-24-2009
how fscanf every two data

hi there...
i have a question regarding the fscanf function...
let's say i have a data:
1 2 3 4 5 6
7 8 9 1 2 3
4 5 6 7 8 9
1 2 3 4 5 6

how do i read only the first COLUMN, or the second COLUMN or the third COLUMN or etc....??????
thanks
# 2  
Old 09-25-2009
There's no graceful way to do it, it'd be better to read all 6 columns and just use the ones you need.

fscanf shouldn't be used for line-delimited data like this since if it encounters data that doesn't match what you want, it may stop halfway through the line, not to mention remaining there if the rest of the line doesn't match its command string. It's better to read line-by-line and process each line with sscanf, bad lines will just be skipped instead of plugging it up.

Code:
while(!feof(file))
{
    int var[6];
    char buf[512];
    if(fgets(buf, 511, file) == NULL) break;
    buf[511]='\0';

    if(sscanf(buf, "%d %d %d %d %d %d",
        var+0, var+1, var+2, var+3, var+4, var+5) != 6)
    {
        fprintf(stderr, "Couldn't read 6 items\n");
        continue;
    }

    printf("col 1=%d, col 4 = %d\n", var[0], var[3]);
}

 

Previous Thread | Next Thread
Test Your Knowledge in Computers #987
Difficulty: Medium
The FreeBSD TCP/IP stack is based on the 4.2BSD implementation of TCP/IP.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

Fscanf to get number and replace.

Hi, I have a file with contents like "abcd 1234" .What i need is get that integer and replace that with 0. So i used fscanf(fp,"%s %d", str, &num); This is having some problem. There can be multiple space/tab between string and number. How to replace that number with 0 in same file? (4 Replies)
Discussion started by: explore
4 Replies

2. Shell Programming and Scripting

Parsing XML (and insert data) then output data (bash / Solaris)

Hi folks I have a script I wrote that basically parses a bunch of config and xml files works out were to add in the new content then spits out the data into a new file. It all works - apart from the xml and config file format in the new file with XML files the original XML (that ends up in... (2 Replies)
Discussion started by: dfinch
2 Replies

3. Shell Programming and Scripting

Extract data based on match against one column data from a long list data

My input file: data_5 Ali 422 2.00E-45 102/253 140/253 24 data_3 Abu 202 60.00E-45 12/23 140/23 28 data_1 Ahmad 256 7.00E-45 120/235 140/235 22 data_4 Aman 365 8.00E-45 15/65 140/65 20 data_10 Jones 869 9.00E-45 65/253 140/253 18... (12 Replies)
Discussion started by: patrick87
12 Replies

4. Programming

fscanf: read words from file

Hi I have a file like that: 1 2 3 4 5 6 7 8 and I want print on stdout: 1 3 8 in other words i want choose what print out. I was thinking to use fscanf as: fscanf(file_in,"%d %d %d",&a, &b,&c); but in this way i get: 1 2 3 Is there a solution using fscanf to obtain my... (2 Replies)
Discussion started by: Dedalus
2 Replies

5. Programming

C, using fscanf

hey guys, I'm working on a term project for a c/unix class. The basis of the program is that it will calculate the weight/balance of a plane. I'm hoping to have an input file as such: " Pilot weight: Passenger weight: baggage wieght: etc " and the idea is that I'm trying to use... (2 Replies)
Discussion started by: jlangholzj
2 Replies

6. Programming

read a file wich fscanf() in a function

I use fopen, fscanf, fclose to read a file. It can work well. since many files should be read, a function is created with the same code. But in the function, fscanf can not work well. for example, the first line of the the file is: > filename but the fscanf will give: 207/23/eee/34 it appears... (2 Replies)
Discussion started by: cdbug
2 Replies

7. UNIX for Dummies Questions & Answers

Howto capture data from rs232port andpull data into oracle database-9i automatically

Hi, i willbe very much grateful to u if u help me out.. if i simply connect pbx machine to printer by serial port RS232 then we find this view: But i want to capture this data into database automatically when the pbx is running.The table in database will contain similar to this view inthe... (1 Reply)
Discussion started by: boss
1 Replies

8. Programming

fscanf

Hi, Can any one tell me what "%hx" as control parameter mean in fscanf. Thanks, abey (4 Replies)
Discussion started by: abey
4 Replies

9. Programming

fscanf()

I keep trying to use fscanf() and for some reason I can't get the syntax down and always get seg faults. I'm on a SunOS 5.5.1, and my current code looks like this: int n1, n2, n3, n4, n5, n6; /* open config file */ if (fileptr = fopen(filename,"r") == NULL) { printf("couldn't open... (3 Replies)
Discussion started by: j_t_kim
3 Replies

10. Programming

fscanf()

thanks to everyone for your earlier replies, but i have yet another problem with file i/o. i'm trying to read multiple lines with the same file, and have been using the following code to take in the first two lines from a file... fscanf(fileptr, "%d %d %d %d %d %d\n", &n1, &n2, &n3, &n4, &n5,... (1 Reply)
Discussion started by: j_t_kim
1 Replies

Featured Tech Videos