Sponsored Content
Top Forums Programming Segfault When Parsing Delimiters In C Post 302982582 by Juha Nurmela on Friday 30th of September 2016 11:13:57 AM
Old 09-30-2016
If you can find a suitable scanf-format, you might be able to do it all with one fscanf. If you have to change things later, this could be useful, or not. Probably not, but you are the judge.

Code:
while (fscanf(fp, "%*[^:]:%4095[^\n]\n", buf) == 1)
  ...

Juha
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

parsing with multible delimiters

I have data that looks like this aaa!bbb!ccc/ddd/eee It is not fixed format. I need to parse ddd into a var in order to decide if I want to process that row. If I do I need to put ccc and bbb into vars to process it. I need to do this during a while loop one record at a time. Any... (11 Replies)
Discussion started by: gillbates
11 Replies

2. Programming

gnu history library signal segfault

i am trying to use the history functions in a c++ program along with a custom signal handler for SIGINT. the prog works fine catching signals without the line: add_history(*args); but as soon as this line is added, the prog segfaults on SIGINT. does anyone have experience using gnu... (2 Replies)
Discussion started by: a1g0rithm
2 Replies

3. UNIX for Dummies Questions & Answers

[Linux] How Do I Run Until Segfault

Hello, sorry if this has been posted before but i was wondering if there is a way to run a program until a segmentation fault is found. Currently i'm using a simple shell script which runs my program 100 times, sleeps 1 second because srand(time(0)) is dependent on seconds. Is there a possible... (1 Reply)
Discussion started by: aslambilal
1 Replies

4. Solaris

Working around netscape 4.9 segfault on Solaris 8

We have a Solaris 8 server which users login to via VNC to get a desktop. On that desktop these users use Netscape Communicator 4.9 to access a very important mail account. Unfortunately Netscape has started segfaulting regularly. Does anyone have any ideas how I can try to find out what point... (1 Reply)
Discussion started by: aussieos
1 Replies

5. Programming

2 Problems: Segfault on ctrl+c and syslog() prob

1. Even if i have the handles for ctrl+c it gives off a segfault 2. syslog doesn't log LOG_ERR event with log masked specified or non specified, it logs LOG_WARNING however... #include <sys/types.h> /* include this before any other sys headers */ #include <sys/stat.h> #include <fcntl.h>... (2 Replies)
Discussion started by: james2432
2 Replies

6. Programming

id3lib SEGFAULT

Hello everyone, I'm writing a program using the id3lib unfortunately I've encountered with memory issue that cause segmentation fault. I tried to rerun and analyze the program with valgrind but it doesn't point me anywhere. I really stuck on this one. Valgrind output: ==14716== Invalid read of... (2 Replies)
Discussion started by: errb
2 Replies

7. Programming

Is Drive Valid Segfault

I have a program that allows users to specify the debug log file location and name. I have tried using the access() and stat() but they both segfault if the drive say (d:\) is invalid. Both seem to be fine if the drive exists. Could someone please point me in the direction to a function that... (1 Reply)
Discussion started by: robfwauk
1 Replies

8. Programming

segfault in pointer to string program

hello all, my question is not about How code can be rewritten, i just wanna know even though i am not using read only memory of C (i have declared str) why this function gives me segfault :wall:and the other code executes comfortably though both code uses same pointer arithmetic. ... (4 Replies)
Discussion started by: zius_oram
4 Replies

9. Programming

String array iteration causing segfault

I am populating an array of string and print it. But it going in infinite loop and causing segfault. char Name = { "yahoo", "rediff", "facebook", NULL }; main(int argc, char* argv) { int j = 0; ... (7 Replies)
Discussion started by: rupeshkp728
7 Replies

10. Shell Programming and Scripting

--Parsing out strings for repeating delimiters for everyline

Hello: I have some text output, on SunOS 5.11 platform using KSH: I am trying to parse out each string within the () for each line. I tried, as example: perl -lanF"" -e 'print "$F $F $F $F $F $F"' But for some reason, the output gets all garbled after the the first fields.... (8 Replies)
Discussion started by: gilgamesh
8 Replies
scanf(3int)															       scanf(3int)

Name
       scanf, fscanf, sscanf - convert formatted input

Syntax
       #include <stdio.h>

       int scanf( format [, pointer ] ...  )
       char *format;

       int fscanf( stream, format [, pointer ] ...  )
       FILE *stream;
       char *format;

       int sscanf( s, format [, pointer ] ...  )
       char *s, *format;

Description
       The  international functions and are similar to the standard I/O functions. The difference is that the international functions allow you to
       use the %digit$ conversion character in place of the I% character you use in the standard I/O functions. The digit is  a  decimal  digit  n
       from 1 to 9.  The international functions apply conversions to the n th argument in the argument list, rather than to the next unused argu-
       ment.

       You can use % conversion character in the international functions.  However, you cannot mix the % conversion  character	with  the  %digit$
       conversion character in a single call.

       In  all	cases,	uses the radix character and collating sequence that is defined by the last successful call to category or If the radix or
       collating sequence is undefined, the function uses the C locale definitions.

   International Environment
       LC_COLLATE     Contains the user requirements for language, territory, and codeset for the character collation format.  affects the  behav-
		      ior  of regular expressions and the string collation functions in If is not defined in the current environment, provides the
		      necessary default.

       LC_NUMERIC     If this environment is set and valid, uses the international language database named in the definition  to  determine  radix
		      character rules.

       LANG	      If  this environment variable is set and valid uses the international language database named in the definition to determine
		      collation and character classification rules.  If or is defined,	their definitions supersede the definition of LANG.

Examples
       The following shows an example of using the function:
       scanf("%2$s %1$d", integer, string)
       If the input is `` january 9 '', the function assigns 9 to and ``january'' to

Return Values
       The function returns the number of successfully matched and assigned input fields.  This number can be  zero  if  the  function	encounters
       invalid input characters, as specified by the conversion specification, before it can assign input characters.

       If  the	input ends before the first conflict or conversion, returns EOF.  These functions return EOF on end of input and a short count for
       missing or invalid data items.

Environment
       In POSIX mode, the E, F, and X formats are treated the same as the e, f, and x formats, respectively;  otherwise,  the  upper-case  formats
       expect double, double, and long arguments, respectively.

See Also
       intro(3int), setlocale(3), strtod(3), strtol(3), printf(3int), getc(3s), printf(3s), scanf(3s)
       Guide to Developing International Software

																       scanf(3int)
All times are GMT -4. The time now is 03:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy