04-29-2009
I think given that you went through your professor first before coming here warrants some kind of leniency, but that's just my opinion, and I'm still new here.
In general, real programmers (tm) use "readline" and avoid scanf functions. The main problem with the scanf functions is their inherent lack of efficiency and security,oh -- and buffer overflows. To do character-by-character, one usually uses fgetc(). Search for tips on using readline/strtok. If the prof is making you do character-by-character, then use fgetc to build up your character array.
Last edited by otheus; 04-29-2009 at 07:47 AM..
Reason: efficiency is primary
7 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
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
6. 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
7. Programming
Hi,
I have a file with contents like "abcd 1234" .What i need is get that integer and replace that with 0. So i used fscanf(fp,"%s %d", str, &num); This is having some problem.
There can be multiple space/tab between string and number. How to replace that number with 0 in same file? (4 Replies)
Discussion started by: explore
4 Replies
LEARN ABOUT OSX
ansi_ctrlu
term::ansi::ctrl::unix(n) Terminal control term::ansi::ctrl::unix(n)
__________________________________________________________________________________________________________________________________________________
NAME
term::ansi::ctrl::unix - Control operations and queries
SYNOPSIS
package require Tcl 8.4
package require term::ansi::ctrl::unix ?0.1?
::term::ansi::ctrl::unix::import ?ns? ?arg...?
::term::ansi::ctrl::unix::raw
::term::ansi::ctrl::unix::raw
::term::ansi::ctrl::unix::columns
::term::ansi::ctrl::unix::rows
_________________________________________________________________
DESCRIPTION
WARNING: This package is unix-specific and depends on the availability of two unix system commands for terminal control, i.e. stty and
tput, both of which have to be found in the $PATH. If any of these two commands is missing the loading of the package will fail.
The package provides commands to switch the standard input of the current process between raw and cooked input modes, and to query the size
of terminals, i.e. the available number of columns and lines.
API
INTROSPECTION
::term::ansi::ctrl::unix::import ?ns? ?arg...?
This command imports some or all attribute commands into the namespace ns. This is by default the namespace ctrl. Note that this is
relative namespace name, placing the imported command into a child of the current namespace. By default all commands are imported,
this can howver be restricted by listing the names of the wanted commands after the namespace argument.
OPERATIONS
::term::ansi::ctrl::unix::raw
This command switches the standard input of the current process to raw input mode. This means that from then on all characters typed
by the user are immediately reported to the application instead of waiting in the OS buffer until the Enter/Return key is received.
::term::ansi::ctrl::unix::raw
This command switches the standard input of the current process to cooked input mode. This means that from then on all characters
typed by the user are kept in OS buffers for editing until the Enter/Return key is received.
::term::ansi::ctrl::unix::columns
This command queries the terminal connected to the standard input for the number of columns available for display.
::term::ansi::ctrl::unix::rows
This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display.
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category term of
the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for
either package and/or documentation.
KEYWORDS
ansi, columns, control, cooked, input mode, lines, raw, rows, terminal
CATEGORY
Terminal control
COPYRIGHT
Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>
term 0.1 term::ansi::ctrl::unix(n)