{{keywords>wiki library source code example reference}}
====== fprintf ======
int fprintf(FILE *stream, const char *format, ...);
Converts (according to format format) and writes output to stream stream. Number of characters written, or negative value on error, is returned.\\
\\
optional flag:\\
\\
- left adjust\\
+ always sign\\
0 zero pad\\
# Alternate form: for conversion character o, first digit will be zero, for [xX], prefix 0x or 0X to non-zero value, for [eEfgG], always decimal point, for [gG] trailing zeros not removed. \\
\\
optional minimum width: if specified as *, value taken from next argument (which must be int).\\
optional . (separating width from precision)\\
optional precision: for conversion character s, maximum characters to be printed from the string, for [eEf], digits after decimal point, for [gG], significant digits, for an integer, minimum number of digits to be printed. If specified as *, value taken from next argument (which must be int).\\
\\
optional length modifier:\\
h short or unsigned short\\
l long or unsigned long\\
L long double\\
conversion character:\\
d,i int argument, printed in signed decimal notation\\
o int argument, printed in unsigned octal notation\\
x,X int argument, printed in unsigned hexadecimal notation\\
u int argument, printed in unsigned decimal notation\\
c int argument, printed as single character\\
s char* argument\\
f double argument, printed with format [-]mmm.ddd\\
e,E double argument, printed with format [-]m.dddddd(e|E)(+|-)xx\\
g,G double argument\\
p void* argument, printed as pointer\\
n int* argument : the number of characters written to this point is written into argument\\
% no argument; prints %\\
===== C Sourcecode Example =====
/*
* fprintf example code
* http://code-reference.com/c/stdio.h/fprintf
*/
#include /* including standard library */
//#include /* uncomment this for Windows */
#define MAX 60
int main ( void )
{
FILE * stream;
char string[MAX];
char c;
sprintf(string,"This string will be cut here - This will not be shown");
stream = fopen ("test.txt","w");
fprintf (stream, "%-8.28s ",string); // -8 is minimun and after the . (in this case 28) is maximum chars
freopen("test.txt", "r", stream);
while((c = fgetc(stream) ) != EOF) {
printf("%c", c );
}
printf("\n");
fclose (stream);
return 0;
}
==== fprintf output example ====
output:./fprintf
This string will be cut here