HDMIkey 格式轉換

就是文件讀寫,以前寫的,目的是爲了滿足燒錄器的格式要求,當時支持很差,只給了個bin文件自己分析。。。
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <ctype.h>
#define SRC_FILE_NAME "bkey.bin"
#define DEST_FILE_NAME "akey.bin"
#define SRC_KEY_NAME "ckey.bin"
#define BUFF_SIZE 18

int SN = 100000;

char test2(int a)
{
	switch(a)
	{
		case 0:
				return 0x30;
		case 1:
				return 0x31;
		case 2:
				return 0x32;
		case 3:
				return 0x33;
		case 4:
				return 0x34; 
		case 5:
				return 0x35;
		case 6:
				return 0x36;
		case 7:
				return 0x37;
		case 8:
				return 0x38;
		case 9:
				return 0x39;
		default:
				break;
	}
}

int test(int fd)
{
	int a,b,c,d,e,f;
	char A,B,C,D,E,F;
	char buff[1];
	SN++;
	a=(SN/100000)%10;
	b=(SN/10000)%10;
	c=(SN/1000)%10;
	d=(SN/100)%10;
	e=(SN/10)%10;
	f=SN%10;
	A=test2(a);
	B=test2(b);
	C=test2(c);
	D=test2(d);
	E=test2(e);
	F=test2(f);
	printf("%d%d%d%d%d%d\n",a,b,c,d,e,f);
	printf("%d%d%d%d%d%d\n",A,B,C,D,E,F);
	write(fd,&A,1);
	lseek(fd,0,SEEK_END);
	write(fd,&B,1);
	lseek(fd,0,SEEK_END);
	write(fd,&C,1);
	lseek(fd,0,SEEK_END);
	write(fd,&D,1);
	lseek(fd,0,SEEK_END);
	write(fd,&E,1);
	lseek(fd,0,SEEK_END);
	write(fd,&F,1);
	lseek(fd,0,SEEK_END);
		
}
int main (void)
{
	int src_file;
	int dest_file;
	int src_key;
	int a=40;
	char buff[BUFF_SIZE];
	char buff2[308];
	int read_len,key_len;
	
	src_file = open (SRC_FILE_NAME,O_RDONLY,644);
	dest_file = open(DEST_FILE_NAME,O_WRONLY,644);
	src_key = open(SRC_KEY_NAME,O_RDONLY,644);
	
	if(src_file<0||dest_file<0||src_key<0)
		{
			printf("open file fail!!\n");
			printf("%d %d %d",src_file,dest_file,src_key);
			exit(1);
			}	
	read_len = read(src_file,buff,sizeof(buff));
	while(a--){
	write(dest_file,buff,read_len);
	lseek(dest_file,0,SEEK_END);
	test(dest_file);
	lseek(dest_file,0,SEEK_END);
	key_len = read(src_key,buff2,308);
	write(dest_file,buff2,key_len);
	lseek(dest_file,4,SEEK_END);
}
	close(src_file);
	close(dest_file);
	close(src_key);
	return 0;	
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章