Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
How can I specify a variable width in a scanf format string?
How can I specify a variable width in a scanf format string?
✍: Guest
You can't; an asterisk in a scanf format string means to suppress assignment. You may be able to use ANSI stringizing and string concatenation to construct a constant format specifier based on a preprocessor macro containing the desired width:
#define WIDTH 3
#define Str(x) #x
#define Xstr(x) Str(x) /*
scanf("%" Xstr(WIDTH) "d", &n);
If the width is a run-time variable, though, you'll have to build the format specifier at run time, too:
char fmt[10];
sprintf(fmt, "%%%dd", width);
scanf(fmt, &n);
(scanf formats like these are unlikely when reading from standard input, but might find some usefulness with fscanf or sscanf.)
2015-10-26, 1102👍, 0💬
Popular Posts:
What is the FP per day in your current company?
Explain all parts of a deployment diagram? Package: It logically groups element of a UML model. Node...
What is normalization? What are different types of normalization? It is set of rules that have been ...
Write out a function that prints out all the permutations of a string. For example, abc would give y...
What is the purpose of finalization? The purpose of finalization is to give an unreachable object th...