Sponsored Content
Full Discussion: sscanf() weired behaviour
Top Forums Programming sscanf() weired behaviour Post 302598781 by Corona688 on Wednesday 15th of February 2012 11:53:34 AM
Old 02-15-2012
It expects integer size, and just giving it shorts doesn't warn it that you're giving it shorts. With &, you're giving it an address remember, so it can't know the size. So it crams 4 bytes of data into an address where you've got a 2-byte variable, overwriting 2 bytes of random data after it -- possibly your other variable there, producing the zero.

There are size qualifiers to the expressions if you want to give it anything other than an integer, see man 3 printf.
 

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. Shell Programming and Scripting

Little bit weired : Find files in UNIX w/o using find or where command

Yes , I have to find a file in unix without using any find or where commands.Any pointers for the same would be very helpful as i am beginner in shell scritping and need a solution for the same. Thanks in advance. Regards Jatin Jain (10 Replies)
Discussion started by: jatin.jain
10 Replies

3. 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

4. Shell Programming and Scripting

cp -R behaviour

i 've noticed the following difference between freebsd cp and gnu cp from the freebsd cp man page: -R ... If the source_file ends in a /, the contents of the directory are copied rather than the directory itself. ... on gnu cp from the man pagewhile on gnu cp manpage: ‘-r'... (2 Replies)
Discussion started by: aegis
2 Replies

5. 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

6. 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

7. 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

8. 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

9. Programming

different behaviour in fg and bg

fg = foreground bg = background I have a cobol program that I start with a very simple script. The script is not at fault as it has not changed and the program worked in fg and bg before. I have altered the logging in the program and moved my cursor declare to working storage. The program runs... (6 Replies)
Discussion started by: Bruble
6 Replies

10. Programming

Format specifier for sscanf() in C

Hello, I have formatted lines delimited by colon ":", and I need to parse the line into two parts with sscanf() with format specifiers. infile.txt: Sample Name: sample1 SNPs : 91 MNPs : 1 Insertions : 5 Deletions ... (13 Replies)
Discussion started by: yifangt
13 Replies
STRCAT(3)						   BSD Library Functions Manual 						 STRCAT(3)

NAME
strcat, strncat -- concatenate strings LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <string.h> char * strcat(char * restrict s, const char * restrict append); char * strncat(char * restrict s, const char * restrict append, size_t count); DESCRIPTION
The strcat() and strncat() functions append a copy of the nul-terminated string append to the end of the nul-terminated string s, then add a terminating ''. The string s must have sufficient space to hold the result. The strncat() function appends not more than count characters where space for the terminating '' should not be included in count. RETURN VALUES
The strcat() and strncat() functions return the pointer s. EXAMPLES
The following appends ``abc'' to ``chararray'': char *letters = "abcdefghi"; (void)strncat(chararray, letters, 3); The following example shows how to use strncat() safely in conjunction with strncpy(3). char buf[BUFSIZ]; char *input, *suffix; (void)strncpy(buf, input, sizeof(buf) - 1); buf[sizeof(buf) - 1] = ''; (void)strncat(buf, suffix, sizeof(buf) - 1 - strlen(buf)); The above will copy as many characters from ``input'' to ``buf'' as will fit. It then appends as many characters from suffix as will fit (or none if there is no space). For operations like this, the strlcpy(3) and strlcat(3) functions are a better choice, as shown below. (void)strlcpy(buf, input, sizeof(buf)); (void)strlcat(buf, suffix, sizeof(buf)); SEE ALSO
bcopy(3), memccpy(3), memcpy(3), memmove(3), strcpy(3), strlcat(3), strlcpy(3) STANDARDS
The strcat() and strncat() functions conform to ISO/IEC 9899:1999 (``ISO C99''). BSD
August 11, 2002 BSD
All times are GMT -4. The time now is 09:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy