0x1b aaaaaaaaaa bbbbbbbbbb 10 27 aaaaa
sprintf(格式化字符串复制)
相关函数
printf,sprintf
表头文件
#include<stdio.h>
定义函数
int sprintf( char *str,const char * format,.........);
函数说明
sprintf()会根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组,直到出现字符串结束(’\0’)为止。关于参数format字符串的格式请参考printf()。
返回值
成功则返回参数str字符串长度,失败则返回-1,错误原因存于errno中。
附加说明
使用此函数得留意堆栈溢出,或改用snprintf()。
范例
#include<stdio.h> main() { char * a=”This is string A!”; char buf[80]; sprintf(buf,”>>> %s<<<\n”,a); printf(“%s”.buf); }
执行
>>>This is string A!<<<
sscanf(格式化字符串输入)
相关函数
scanf,fscanf
表头文件
#include<stdio.h>
定义函数
int sscanf (const char *str,const char * format,........);
函数说明
sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。
返回值
成功则返回参数数目,失败则返回-1,错误原因存于errno中。
范例
#include<stdio.h> main() { int i; unsigned int j; char input[ ]=”10 0x1b aaaaaaaa bbbbbbbb”; char s[5]; sscanf(input,”%d %x %5[a-z] %*s %f”,&i,&j,s,s); printf(“%d %d %s\n”,i,j,s); }
执行
10 27 aaaaa
vfprintf(格式化输出数据至文件)
相关函数
printf,fscanf,fprintf
表头文件
#include<stdio.h> #include<stdarg.h>
定义函数
int vfprintf(FILE *stream,const char * format,va_list ap);
函数说明
vfprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件中,直到出现字符串结束(’\0’)为止。关于参数format字符串的格式请参考printf()。va_list用法请参考附录C或vprintf()范例。
返回值
成功则返回实际输出的字符数,失败则返回-1,错误原因存于errno中。
范例
参考fprintf()及vprintf()。
vfscanf(格式化字符串输入)
相关函数
scanf,sscanf,fscanf
表头文件
#include<stdio.h>
定义函数
int vfscanf(FILE * stream,const char * format ,va_list ap);
函数说明
vfscanf()会自参数stream 的文件流中读取字符串,再根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。va_list用法请参考附录C 或vprintf()。
返回值
成功则返回参数数目,失败则返回-1,错误原因存于errno中。
范例
参考fscanf()及vprintf()。
vprintf(格式化输出数据)
相关函数
printf,vfprintf,vsprintf
表头文件
#include<stdio.h> #include<stdarg.h>
定义函数
int vprintf(const char * format,va_list ap);
函数说明
vprintf()作用和printf()相同,参数format格式也相同。va_list为不定个数的参数列,用法及范例请参考附录C。
返回值
成功则返回实际输出的字符数,失败则返回-1,错误原因存于errno中。
范例
#include<stdio.h> #include<stdarg.h> int my_printf( const char *format,……) { va_list ap; int retval; va_start(ap,format); printf(“my_printf( ):”); retval = vprintf(format,ap); va_end(ap); return retval; } main() { int i = 150,j = -100; double k = 3.14159; my_printf(“%d %f %x\n”,j,k,i); my_printf(“%2d %*d\n”,i,2,i); }
执行
my_printf() : -100 3.14159 96 my_printf() : 150 150
vscanf(格式化字符串输入)
相关函数
vsscanf,vfscanf
表头文件
#include<stdio.h> #include<stdarg.h>
定义函数
int vscanf( const char * format,va_list ap);
函数说明
vscanf()会将输入的数据根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。va_list用法请参考附录C或vprintf()范例。
返回值
成功则返回参数数目,失败则返回-1,错误原因存于errno中。
范例
请参考scanf()及vprintf()。
vsprintf(格式化字符串复制)
相关函数
vnsprintf,vprintf,snprintf
表头文件
#include<stdio.h>
定义函数
int vsprintf( char * str,const char * format,va_list ap);
函数说明
vsprintf()会根据参数format字符串来转换并格式化数据,然后将结果复制到参数str所指的字符串数组,直到出现字符串结束(’\0’)为止。关于参数format字符串的格式请参考printf()。va_list用法请参考附录C或vprintf()范例。
返回值
成功则返回参数str字符串长度,失败则返回-1,错误原因存于errno中。
范例
请参考vprintf()及vsprintf()。
vsscanf(格式化字符串输入)
相关函数
vscanf,vfscanf
表头文件
#include<stdio.h>
定义函数
int vsscanf(const char * str,const char * format,va_list ap);
函数说明
vsscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考附录C 或vprintf()范例。
返回值
成功则返回参数数目,失败则返回-1,错误原因存于errno中。
范例
请参考sscanf()及vprintf()。
上一页 [1] [2] [3] [4] |