Sponsored Content
Full Discussion: help with sscanf()!
Top Forums Programming help with sscanf()! Post 302308257 by Zykl0n-B on Friday 17th of April 2009 01:28:28 PM
Old 04-17-2009
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 code:

Code:
#include <stdio.h>
#include <stdlib.h>
 
int main(void){
char *data, *str1, *str2;
 
/*... HTML stuff ...*/
 
data = getenv("QUERY_STRING");
 
if(data==NULL){
printf("<H1>Error passing data to CGI Script</H1>");
exit(1);
}
 
else
sscanf(data, "user=%s&pass=%s", &str1, &str2);
 
printf("Username: %s\n", str1);
printf("Password: %s\n", str2);
return(0);
}

But i'm getting an error... it works perfectly with numbers, but i need it to work like this, with strings.
Am i missing something? Please, help me!!!

Last edited by Zykl0n-B; 04-17-2009 at 02:33 PM..
Zykl0n-B
 

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

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

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

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

7. 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
STRNATCMP(3)								 1							      STRNATCMP(3)

strnatcmp - String comparisons using a ";natural order" algorithm

SYNOPSIS
int strnatcmp (string $str1, string $str2) DESCRIPTION
This function implements a comparison algorithm that orders alphanumeric strings in the way a human being would, this is described as a "natural ordering". Note that this comparison is case sensitive. PARAMETERS
o $str1 - The first string. o $str2 - The second string. RETURN VALUES
Similar to other string comparison functions, this one returns < 0 if $str1 is less than $str2; > 0 if $str1 is greater than $str2, and 0 if they are equal. EXAMPLES
An example of the difference between this algorithm and the regular computer string sorting algorithms (used in strcmp(3)) can be seen below: <?php $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "Standard string comparison "; usort($arr1, "strcmp"); print_r($arr1); echo " Natural order string comparison "; usort($arr2, "strnatcmp"); print_r($arr2); ?> The above example will output: Standard string comparison Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) Natural order string comparison Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png ) SEE ALSO
preg_match(3), strcasecmp(3), substr(3), stristr(3), strcmp(3), strncmp(3), strncasecmp(3), strnatcasecmp(3), strstr(3), natsort(3), nat- casesort(3). PHP Documentation Group STRNATCMP(3)
All times are GMT -4. The time now is 10:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy