Sponsored Content
Full Discussion: help with sscanf()!
Top Forums Programming help with sscanf()! Post 302308327 by Zykl0n-B on Friday 17th of April 2009 05:07:19 PM
Old 04-17-2009
I did it,
I don't know why, but the string "user=%s&pass=%s" was creating a segmentation fault, what i did was specify which characters i wanted to seek, like this:

Code:
/* compile gcc file.c -o file.cgi
 * Get strings from html form
 */
 
#include <stdio.h>
#include <stdlib.h>
 
int main(void){
char *data, str1[12], str2[12];
printf("%s%c%c\n","Content-Type:text/html;charset=iso-8859-1",13,10);

data = getenv("QUERY_STRING");
if(data==NULL){
printf("<H1>Error passing data to CGI Script</H1>");
exit(1);
}
else
sscanf(data,"user=%[0-9a-zA-Z]&pass=%[0-9a-zA-Z]", &str1, &str2);
printf("Username: %s<BR>", str1);
printf("Password: %s<BR>", str2);
return(0);
}

This is it, Working, Thanks vgersh99 Smilie
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
CGI::Session::Driver::file(3pm) 			User Contributed Perl Documentation			   CGI::Session::Driver::file(3pm)

NAME
CGI::Session::Driver::file - Default CGI::Session driver SYNOPSIS
$s = CGI::Session->new(); $s = CGI::Session->new("driver:file", $sid); $s = CGI::Session->new("driver:file", $sid, {Directory=>'/tmp'}); DESCRIPTION
When CGI::Session object is created without explicitly setting driver, file will be assumed. file - driver will store session data in plain files, where each session will be stored in a separate file. Naming conventions of session files are defined by $CGI::Session::Driver::file::FileName global variable. Default value of this variable is cgisess_%s, where %s will be replaced with respective session ID. Should you wish to set your own FileName template, do so before requesting for session object: use CGI::Session::Driver::file; # This line is mandatory. # Time passes... $CGI::Session::Driver::file::FileName = "%s.dat"; $s = CGI::Session->new(); For backwards compatibility with 3.x, you can also use the variable name $CGI::Session::File::FileName, which will override the one above. DRIVER ARGUMENTS If you wish to specify a session directory, use the Directory option, which denotes location of the directory where session ids are to be kept. If Directory is not set, defaults to whatever File::Spec->tmpdir() returns. So all the three lines in the SYNOPSIS section of this manual produce the same result on a UNIX machine. If specified Directory does not exist, all necessary directory hierarchy will be created. By default, sessions are created with a umask of 0660. If you wish to change the umask for a session, pass a UMask option with an octal representation of the umask you would like for said session. NOTES
If your OS doesn't support flock, you should understand the risks of going without locking the session files. Since sessions tend to be used in environments where race conditions may occur due to concurrent access of files by different processes, locking tends to be seen as a good and very necessary thing. If you still want to use this driver but don't want flock, set $CGI::Session::Driver::file::NoFlock to 1 or pass "NoFlock => 1" and this driver will operate without locks. LICENSING
For support and licensing see CGI::Session perl v5.12.4 2011-07-08 CGI::Session::Driver::file(3pm)
All times are GMT -4. The time now is 12:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy