printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf, wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf, |
#include<stdio.h> #include<string.h> intmain( void ) { charc,s[20],*p; inta=1234,*i; floatf=3.141592653589; doublex=0.12345678987654321; p= "Howdoyoudo" ; strcpy (s, "Hello,Comrade" ); *i=12; c= '\x41' ; printf ( "a=%d\n" ,a); /*结果输出十进制整数a=1234*/ printf ( "a=%6d\n" ,a); /*结果输出6位十进制数a=1234*/ printf ( "a=%06d\n" ,a); /*结果输出6位十进制数a=001234*/ printf ( "a=%2d\n" ,a); /*a超过2位,按实际值输出a=1234*/ printf ( "*i=%4d\n" ,*i); /*输出4位十进制整数*i=12*/ printf ( "*i=%-4d\n" ,*i); /*输出左对齐4位十进制整数*i=12*/ printf ( "i=%p\n" ,i); /*输出地址i=06E4*/ printf ( "f=%f\n" ,f); /*输出浮点数f=3.141593*/ printf ( "f=%6.4f\n" ,f); /*输出6位其中小数点后4位的浮点数 f=3.1416*/ printf ( "x=%lf\n" ,x); /*输出长浮点数x=0.123457*/ printf ( "x=%18.16lf\n" ,x); /*输出18位其中小数点后16位的长浮点 数x=0.1234567898765432*/ printf ( "c=%c\n" ,c); /*输出字符c=A*/ printf ( "c=%x\n" ,c); /*输出字符的ASCII码值c=41*/ printf ( "s[]=%s\n" ,s); /*输出数组字符串s[]=Hello,Comrade*/ printf ( "s[]=%6.9s\n" ,s); /*输出最多9个字符的字符串s[]=Hello, Co*/ printf ( "s=%p\n" ,s); /*输出数组字符串首字符地址s=FFBE*/ printf ( "*p=%s\n" ,p); /*输出指针字符串p=Howdoyoudo*/ printf ( "p=%p\n" ,p); /*输出指针的值p=0194*/ getch(); retunr0; } |
1 2 | int fprintf( FILE *stream,constchar*format,[argument]) 其中, FILE *stream为文件指针,constcahr*format以什么样的格式输出,[argument]为输入列表 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /* Program to create backup of the AUTOEXEC.BAT file */ #include <stdio.h> int main( void ) { FILE *in, *out; if ((in = fopen ( "\\AUTOEXEC.BAT" , "rt" )) == NULL) { fprintf (stderr, "Cannot open input file.\n" ); return 1; } if ((out = fopen ( "\\AUTOEXEC.BAT" , "wt" )) == NULL) { fprintf (stderr, "Cannot open output file.\n" ); return 1; } while (! feof (in)) fputc ( fgetc (in), out); fclose (in); fclose (out); return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> #include<stdlib.h> #include <process.h> FILE *stream; int main( void ) { int i = 10; double fp = 1.5; char s[] = "this is a string" ; char c = '\n' ; stream = fopen ( "fprintf.out" , "w" ); fprintf ( stream, "%s%c" , s, c ); fprintf ( stream, "%d\n" , i ); fprintf ( stream, "%f\n" , fp ); fclose ( stream ); system ( "type fprintf.out" ); return 0; } |
1 2 3 | this is a string 10 1.500000 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> int main() { FILE *fp; int i=617; char * s = "that is a good new" ; fp = fopen ( "text.dat" , "w" ); fputs ( "total" ,fp); fputs ( ":" ,fp); fprintf (fp, "%d\n" ,i); fprintf (fp, "%s" ,s); fclose (fp); return 0; } |
1 2 | total:617 that is a good new |
1 2 3 4 5 6 7 8 9 10 11 | #include<stdio.h>//某个头文件 intmain() /*主函数“整数”类型*/ { charbuffer[50]; /*“字符”类型的数组,下面共有50个元素。*/ intn,a=5,b=3; /*三个变量都为“整数”类型,intn中间要有空格*/ n= sprintf (buffer, "%dplus%dis%d" ,a,b,a+b); /*赋予数值*/ printf ( "[%s]isastring%dcharslong\n" ,buffer,n); /*“格式输出”*/ return0; /*“返回零” 也就是程序正常退出*/ } |
[5 plus 3 is 8] is a string 13 chars long |
1 | snprintf(s, 100, "%.*S" , 3, "abcd" ); |
1 2 3 | #if _MSC_VER #define snprintf _snprintf #endif |
1 | _sntprintf |
1 2 3 4 5 6 7 8 | #include<stdio.h> #include<stdlib.h> intmain() { charstr[10]={0}; snprintf(str, sizeof (str)-1, "0123456789012345678" ); printf ( "str=%s\n" ,str);return0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include<stdio.h> #include<stdarg.h> intvpf( char *fmt,...) { va_list argptr; int cnt; va_start (argptr,fmt); cnt= vprintf (fmt,argptr); va_end (argptr); return (cnt); } intmain( void ) { int inumber=30; float fnumber=90.0; char *string= "abc" ; vpf( "%d%f%s\n" ,inumber,fnumber,string); return0; } |
联系客服