07-19-2014
I avoid the *scanf*() functions like the plague. If they are passed unvalidated input, results are "undefined". If you're lucky your process will just SEGV and not cause any damage, if you're not you'll get corrupt data in some way.
To validate the input you have to know what it is and what standards to check it against. In other words, you have to parse and interpret the data. Because you pretty much can't safely call one of those functions without doing that.
Once you do that, there's no point in calling one of the *scanf*() functions.
10 More Discussions You Might Find Interesting
1. Programming
thanks to everyone for your earlier replies, but i have yet another problem with file i/o. i'm trying to read multiple lines with the same file, and have been using the following code to take in the first two lines from a file...
fscanf(fileptr, "%d %d %d %d %d %d\n", &n1, &n2, &n3, &n4, &n5,... (1 Reply)
Discussion started by: j_t_kim
1 Replies
2. Programming
I keep trying to use fscanf() and for some reason I can't get the syntax down and always get seg faults. I'm on a SunOS 5.5.1, and my current code looks like this:
int n1, n2, n3, n4, n5, n6;
/* open config file */
if (fileptr = fopen(filename,"r") == NULL) {
printf("couldn't open... (3 Replies)
Discussion started by: j_t_kim
3 Replies
3. Programming
Hi,
Can any one tell me what "%hx" as control parameter mean in fscanf.
Thanks,
abey (4 Replies)
Discussion started by: abey
4 Replies
4. Programming
I use fopen, fscanf, fclose to read a file. It can work well. since many files should be read, a function is created with the same code. But in the function, fscanf can not work well.
for example, the first line of the the file is: > filename
but the fscanf will give: 207/23/eee/34
it appears... (2 Replies)
Discussion started by: cdbug
2 Replies
5. Programming
hey guys, I'm working on a term project for a c/unix class. The basis of the program is that it will calculate the weight/balance of a plane. I'm hoping to have an input file as such:
"
Pilot weight:
Passenger weight:
baggage wieght:
etc
"
and the idea is that I'm trying to use... (2 Replies)
Discussion started by: jlangholzj
2 Replies
6. Programming
Hi
I have a file like that:
1 2 3 4 5 6 7 8
and I want print on stdout:
1 3 8
in other words i want choose what print out.
I was thinking to use fscanf as:
fscanf(file_in,"%d %d %d",&a, &b,&c);
but in this way i get:
1 2 3
Is there a solution using fscanf to obtain my... (2 Replies)
Discussion started by: Dedalus
2 Replies
7. Shell Programming and Scripting
Hello,
I really would appreciate some help with a bash script for some string manipulation on an SQL dump:
I'd like to be able to rename "sites/WHATEVER/files" to "sites/SOMETHINGELSE/files" within the sql dump.
This is quite easy with sed:
sed -e... (1 Reply)
Discussion started by: otrotipo
1 Replies
8. UNIX for Dummies Questions & Answers
hi there...
i have a question regarding the fscanf function...
let's say i have a data:
1 2 3 4 5 6
7 8 9 1 2 3
4 5 6 7 8 9
1 2 3 4 5 6
how do i read only the first COLUMN, or the second COLUMN or the third COLUMN or etc....??????
thanks (1 Reply)
Discussion started by: theunknown
1 Replies
9. UNIX for Dummies Questions & Answers
Hi
In the below query userreg.status returns a value of 1 (Active) or -1 (Non Active). Ideally, I would like to replace this automatically on the export so instead of getting 1 or -1 I get Active / Non Active.
Any help, as usual, would be greatly apprecited. (1 Reply)
Discussion started by: theref
1 Replies
10. Shell Programming and Scripting
Hi,
I have a set of files in a directory that I have to read and replace the first occurrence of a number with another dummy number. This is what I have so far but it does not seem to work. The files have lot of other data in each row and each data element is separated by ,@,
for file in... (13 Replies)
Discussion started by: scorpioraghu
13 Replies
LEARN ABOUT MINIX
curl_global_init_mem
curl_global_init_mem(3) libcurl Manual curl_global_init_mem(3)
NAME
curl_global_init_mem - Global libcurl initialisation with memory callbacks
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_global_init_mem(long flags,
curl_malloc_callback m,
curl_free_callback f,
curl_realloc_callback r,
curl_strdup_callback s,
curl_calloc_callback c );
DESCRIPTION
This function works exactly as curl_global_init(3) with one addition: it allows the application to set callbacks to replace the otherwise
used internal memory functions.
This man page only adds documentation for the callbacks, see the curl_global_init(3) man page for all the rest. When you use this function,
all callback arguments must be set to valid function pointers.
The prototypes for the given callbacks should match these:
void *malloc_callback(size_t size);
To replace malloc()
void free_callback(void *ptr);
To replace free()
void *realloc_callback(void *ptr, size_t size);
To replace realloc()
char *strdup_callback(const char *str);
To replace strdup()
void *calloc_callback(size_t nmemb, size_t size);
To replace calloc()
CAUTION
Manipulating these gives considerable powers to the application to severly screw things up for libcurl. Take care!
SEE ALSO
curl_global_init(3), curl_global_cleanup(3),
libcurl 7.12.0 10 May 2004 curl_global_init_mem(3)