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
doubleatof(char *nptr)
将字符串nptr转换成整型数, 并返回这个数,错误返回0
int atoi(char *nptr)
将字符串nptr转换成长整型数,并返回这个数,错误返回0
long atol(char *nptr)
将字符串str转换成双精度数,并返回这个数,
doublestrtod(char *str,char **endptr)
将字符串str转换成长整型数, 并返回这个数,
longstrtol(char *str,char **endptr,int base)
3.
fprintf()函数
int fprintf(FILE * stream, const char * format, ...);
函数说明:fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束('\0')为止。
返回值:关于参数format 字符串的格式请参考printf(). 成功则返回实际输出的字符数, 失败则返回-1, 错误原因存于errno 中.
范例
#includemain()
{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...]的个数
forexample:
FILE*fp;
chara[10];
intb;
doublec;
fscanf(fp,"%s%d%lf",a,&b,&c)
4.