|  | 
 
| 今天写一个测试程序,代码如下(写的比较乱,包涵) #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 
 int main(int argc,char **argv)
 {
 int  fd;
 int ret,cmd;
 fd=open("/dev/butt_led_dev",0);
 
 if(fd < 0)
 printf("open fail \n");
 sscanf(argv[1],"%d",&cmd);
 sscanf(argv[2], "%d", &ret);
 
 if(cmd==0)
 {
 ioctl(fd,0,ret-1);
 printf("ret=%d\n",(ret-1));
 }
 else
 {
 ioctl(fd,1,ret-1);
 printf("ret=%d\n",(ret-1));
 }
 close(fd);
 return 0;
 }
 我前几天看到sscanf的用法,
 sscanf(argv[2], "%d", &ret);
 是把argv[2]转换成整形格式并存入ret。这和强制转换有什么不同,我用ret=(int)ret却到不同的结果,请指点
 | 
 |