?? iccard-test.c
字號:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
int MAX_LEN=88; /* 定義讀寫的字節數 */
int main()
{ int fd,i; /* fd為將要用到的文件描述符 */
char buf[MAX_LEN],readic[MAX_LEN];
char *icc_filename[]={"/dev/iccard24c02","/dev/iccard24c04","/dev/iccard24c08",
"/dev/iccard24c16","/dev/iccard24c32","/dev/iccard24c64"};
for(i=0;i<MAX_LEN;i++){ /* 給數組賦值 */
buf[i]=i+33;
}
i=0;
while ((fd=open(icc_filename[i],O_RDWR))==-1 ){ /* 打開IC卡設備,如果出錯*/
if (i++ < 5)continue;
fprintf(stderr,"Open error %d : no card\n",errno); /* 打印errno變量的值 */
exit(1);
}
printf("Write %d bytes data to %s \n",MAX_LEN,icc_filename[i]);
if(write(fd,buf,MAX_LEN)==-1){
fprintf(stderr,"Write error %d\n",errno);
exit(1);
}
printf("Lseek to 0 \n");
if((lseek(fd,3,SEEK_SET))==-1){
fprintf(stderr,"Lseek error %d\n",errno);
exit(1);
}
printf("\nRead %d bytes data from %s \n",MAX_LEN,icc_filename[i]);
if(read(fd,readic,MAX_LEN)==-1){
fprintf(stderr,"Read error %d\n",errno);
exit(1);
}
if(close(fd)==-1){ /* 關閉IC卡設備 */
fprintf(stderr,"Close error%d\n",errno);
exit(1);
}
for(i=0;i<MAX_LEN;i++){ /* 輸出顯示讀出的數據 */
if((i%8)==0)
printf("\n");
printf("%4c",readic[i]);
}
printf("\n");
return 0; /* 成功返回,程序結束 */
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -