1. 用scanf清理缓冲区数据
scanf("%*[^\n]"); scanf("%*c");
2. 格式转换
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数 char *ultoa(unsigned long value,char *string,int radix) 将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数 char *ltoa(long value,char *string,int radix) 将整数value转换成字串存入string,radix为转换所用基数. char *itoa(int value,char *string,int radix) 将字符串nptr转换成双精度数,并返回这个数,错误返回0 double atof(char *nptr) 将字符串nptr转换成整型数,并返回这个数,错误返回0 int atoi(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 long atol(char *nptr) 将字符串str转换成双精度数,并返回这个数, double strtod(char *str,char **endptr) 将字符串str转换成长整型数, 并返回这个数, long strtol(char *str,char **endptr,int base)
3.
fprintf()函数
int fprintf(FILE * stream, const char * format, ...);
函数说明:fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束('\0')为止。
返回值:关于参数format 字符串的格式请参考printf(). 成功则返回实际输出的字符数, 失败则返回-1, 错误原因存于errno 中.
范例 #include <stdio.h> main() { int i = 150; int j = -100; double k = 3.14159; fprintf(stdout, "%d %f %x \n", j, k, i); fprintf(stdout, "%2d %*d\n", i, 2, i); }
执行:
-100 3.141590 96
150 150
fscanf()函数
int fscanf(FILE *stream, char *format,[argument...]);
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。
int fscanf(文件指针,格式字符串,输入列表);
返回值:整型,数值等于[argument...]的个数
for example: FILE*fp; char a[10]; int b; double c; fscanf(fp,"%s%d%lf",a,&b,&c)
4.