Sponsored Content
Top Forums Programming Format specifier for sscanf() in C Post 303040697 by MadeInGermany on Monday 4th of November 2019 04:38:28 PM
Old 11-04-2019
The code that you provided stops at line 8 with exit 1:
Code:
...
    printf("%s: %s\n", name, str1);         //puts() always adds newline at the end of the string
        //printf("%d\n", i); 
    i++;                                    //increment of record count
    if (i > 8) exit (EXIT_FAILURE);       //truncate the input file, need improved

If I remove that then I get a sgmentation fault.
In the code that you provided there are two mistakes, here is one correction
Code:
typedef struct {
    char ID[32];
...

Further, you mix up line numbers with record numbers.
If variable i is supposed to increment with every record starting with "Sample Name" then you can have
Code:
    if (strstr(name, "Sample Name") != NULL) {
        i++;                                    //increment of record count
        strcpy(record[i].ID, name);
    }

and no increment for every line!
And in order to start with index 0 the initialization should be
Code:
    static int i = -1;           //initialize counter


Last edited by MadeInGermany; 11-04-2019 at 06:44 PM..
These 2 Users Gave Thanks to MadeInGermany For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

sscanf function is failing

Please delete this thread. (0 Replies)
Discussion started by: jxh461
0 Replies

2. Programming

sscanf !!

I have a string Form this string, I want to extract I am unable to do that with sscanf because of the space between the words. What else can I use? #include <stdio.h> char buf_2; int main() { char *buf_1 = "\\\\?\\whats going on"; sscanf(buf_1,... (4 Replies)
Discussion started by: the_learner
4 Replies

3. Shell Programming and Scripting

awk printf formatting using string format specifier.

Hi all, My simple AWK code does C = A - B If C can be a negative number, how awk printf formating handles it using string format specifier. Thanks in advance Kanu :confused: (9 Replies)
Discussion started by: kanu_pathak
9 Replies

4. Programming

help with sscanf()!

Hi everybody, i need help with this function, i'm programming in CGI with C and i can't make this work. QUERY_STRING is something like: user=MYUSER&pass=MYPASS So, what i want is to store the strings containing the username and the password into str1 and str2 respetively, here's the... (4 Replies)
Discussion started by: Zykl0n-B
4 Replies

5. Programming

help with sscanf

I need to match a float inside a very long string (about 5000 chars) with sscanf. (I trimmed the string in this example.) I can't seem to match all the chars that come before and after the float. int main(void) { char A = ""; strcat(A, " hello world! WORD' name='5.3498' hello world! ... (1 Reply)
Discussion started by: limmer
1 Replies

6. Programming

Help with sscanf

sscanf does not stop at the first "&". How can I extract "doe" ? char A = "name=john&last=doe&job=vacant&"; char B = "last"; char C = ""; char *POINTER = strstr(A, B); sscanf(POINTER + strlen(B), "=%s%*", C); printf("%s\n", C); // doe&job=vacant& (2 Replies)
Discussion started by: limmer
2 Replies

7. Programming

using sscanf

How can I separetely extract the string and int after "dribble" ? (sscanf must limit TEXT to 9 chars to avoid buffer overflows.) How come this code does not work with "dribbletext08" but does with "dribbletext05" ? int main(void) { char TEXT = ""; int NUMBER = 0; ... (2 Replies)
Discussion started by: cyler
2 Replies

8. Shell Programming and Scripting

Retaining the Unix CSV format in Excel format while exporting

Hi All, I have created a Unix Shell script whch creates a *.csv file and export it to Excel. The problem i am facing is that Users wants one of the AMOUNT field in comma separted values. Example : if the Amount has the value as 3000000 User wants to be in 3,000,000 format. This Amount format... (2 Replies)
Discussion started by: rawat_me01
2 Replies

9. Programming

sscanf() weired behaviour

Hi with the following code int a, b; while ((n = readline (connfd, buf, sizeof(buf)-1)) > 0) { buf = '\0'; if (sscanf(buf,"%d %d",&a,&b) != 2) snprintf (buf, sizeof(buf), "data error\r\n"); else { printf("\nRecvd %d and %d",a,b); ... (1 Reply)
Discussion started by: princebadshah
1 Replies

10. Shell Programming and Scripting

Need script for transferring bulk files from one format to text format

"Help Me" Need script for transferring bulk files from one format to text format in a unix server. Please suggest (2 Replies)
Discussion started by: Kranthi Kumar
2 Replies
VIEWPERL(1)							   User Commands						       VIEWPERL(1)

NAME
viewperl - quickly view syntax highlighted Perl code SYNOPSIS
viewperl [OPTION]... FILE... DESCRIPTION
View a Perl source code file, syntax highlighted. -c, --code=CODE view CODE, syntax highlighted -l, --lines display line numbers -L, --no-lines supress display of line numbers (default) -m, --module=FILE consider FILE the name of a module, not a file name -n, --name display the name of each file (default) -N, --no-name supress display of file names (implied by --no-reset) -p, --pod display inline POD documentation (default) -P, --no-pod hide POD documentation (line numbers still increment) -r, --reset reset formatting and line numbers each file (default) -R, --no-reset supress resetting of formatting and line numbers -s, --shift=WIDTH set tab width (default is 4) -t, --tabs translate tabs into spaces (default) -T, --no-tabs supress translating of tabs into spaces --help display this help and exit Note that module names should be given as they would appear after a Perl `use' or `require' statement. `Getopt::Long', for example. Each string given using -c is considered a different file, so line number and formatting resets will apply. View a Perl source code file, syntax highlighted. -c, --code=CODE view CODE, syntax highlighted -l, --lines display line numbers -L, --no-lines supress display of line numbers (default) -m, --module=FILE consider FILE the name of a module, not a file name -n, --name display the name of each file (default) -N, --no-name supress display of file names (implied by --no-reset) -p, --pod display inline POD documentation (default) -P, --no-pod hide POD documentation (line numbers still increment) -r, --reset reset formatting and line numbers each file (default) -R, --no-reset supress resetting of formatting and line numbers -s, --shift=WIDTH set tab width (default is 4) -t, --tabs translate tabs into spaces (default) -T, --no-tabs supress translating of tabs into spaces --help display this help and exit Note that module names should be given as they would appear after a Perl `use' or `require' statement. `Getopt::Long', for example. Each string given using -c is considered a different file, so line number and formatting resets will apply. viewperl August 2007 VIEWPERL(1)
All times are GMT -4. The time now is 06:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy