终极笔记百度百科结局(C笔记 戒色 博客园)
1 、用scanf,fscanf,fprintf特别要注意格式化的问题 ,不恰当使用会导致异常:
在连续录入或读取多个字符串时 , scanf 、fscanf ,整形必须用%d,浮点要用%f,字符型用%s(若用%c格式输入字符时 ,空格字符和“转义字符 ”都作为有效字符输入)
fprintf:char字符型用%c 整形用%d;
//%d%s%s char字符类型要用%s,整形用%d
scanf("%d%s%s",&eTemp.sId,eTemp.sName,&eTemp.sSex);
//char字符型用%c 整形用%d
fprintf(pFile,"%d\t%s\t%c\n",eTemp.sId,eTemp.sName,eTemp.sSex);
int i = fscanf(pFile,"%d%s%s",&eTemp.sId,eTemp.sName,&eTemp.sSex); if(i == -1) break; printf("%d\t%s\t%c\n",eTemp.sId,eTemp.sName,eTemp.sSex);
fscanf:最好获取其返回值 ,判断是否为取得的field数量 ,否则退出break;
i = fscanf(pUser,"%s%s%s",telNo,userName,passWord); if(i!=3) break;
fread(buffer,size,count,fp) 与fwrite(buffer,size,count,fp):
size为读取的每个数据项的字节数 ,返回值为输入或输出数据项的个数 ,即count,可通过返回值判断是否读取成功 ,否则break;
fread:
最好获取其返回值 ,判断是否为0,为0则退出循环break;
或者判断其返回值是否为count; if(fread(buffer,size,count,fp) != 1) break; if(returnValue == 0) break;
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!