金鑫水淼的嵌入式开发学习博客
gofiend
全部博文(150)
2011年(1)
2009年(14)
2008年(135)
llinux
Bsolar
帅得不敢
yeyincan
零和博弈
liying10
wangzhen
giszy
云龙湖1
分类: LINUX
2008-09-02 13:21:12
int get_original_value( const char *filename, UINT16 *data ) { int ret; char message[MESSAGE_LEN]; FILE *fp=NULL; int tmp; memset( message ,0, sizeof(message) ); if( !(fp=fopen( filename , "r")) ) { TCMD_TRACE( "ERR: open voltage file failed\n" ); return ERROR_ADC; } ret = fread( message , MESSAGE_LEN, 1, fp ); message[strlen(message)-1] = '\0'; ret = sscanf(message, "%x", &tmp); *data = tmp; if (ret < 1 || ret > 3) { TCMD_TRACE("ERR: data error\n"); fclose(fp); return ERROR_ADC; } fclose(fp); return 0; }
if( !(fp=fopen( filename , "r")) )中我一开始写成了if(!fopen(filename , "r"))造成了下面的语句fread( message , MESSAGE_LEN , 1 , fp) 错误,因为此时fp 并没有赋值。
上一篇:[code]umask function
下一篇:segment fault
登录 注册