读取 xml 个 tlv 格式的文件
read xml file with tlv format
我读了xml tlv 格式的文件,xml 文件有 593 字节,我读了下面的代码。前 512 字节为真,其余字节为假。我读到余数字节是00。
int fd,ret;
unsigned char *filebuffer[6400];
fd = open("filename" , O_RDONLY);
printf("file open return value : %d \n", fd);
if (fd == -1)
{
printf("Error in openning the file!\n");
exit(0);
}
//read the file
int i = 0;
do {
ret = read(fd,&filebuffer[i],512);
printf("file read return value : %d \n", ret);
if (ret == -1)
{
printf("Error in reading!\n");
exit(0);
}
i += ret;
printf("i = %d, ret = %d",i,ret);
} while (ret > 0);
int k;
char tmp[6400];
memcpy(tmp,filebuffer,i);
printf("file buffer\n");
for (k = 0; k < i; ++k) {
printf("%02x",tmp[i]);
}
close(fd);}
我用正在读取的 xml 文件填充文件缓冲区。
文件缓冲区示例;文件缓冲区:1F0583212 .....(512 字节)000000
filebuffer
的定义不正确。将其更改为:
unsigned char filebuffer[6400];
我读了xml tlv 格式的文件,xml 文件有 593 字节,我读了下面的代码。前 512 字节为真,其余字节为假。我读到余数字节是00。
int fd,ret;
unsigned char *filebuffer[6400];
fd = open("filename" , O_RDONLY);
printf("file open return value : %d \n", fd);
if (fd == -1)
{
printf("Error in openning the file!\n");
exit(0);
}
//read the file
int i = 0;
do {
ret = read(fd,&filebuffer[i],512);
printf("file read return value : %d \n", ret);
if (ret == -1)
{
printf("Error in reading!\n");
exit(0);
}
i += ret;
printf("i = %d, ret = %d",i,ret);
} while (ret > 0);
int k;
char tmp[6400];
memcpy(tmp,filebuffer,i);
printf("file buffer\n");
for (k = 0; k < i; ++k) {
printf("%02x",tmp[i]);
}
close(fd);}
我用正在读取的 xml 文件填充文件缓冲区。 文件缓冲区示例;文件缓冲区:1F0583212 .....(512 字节)000000
filebuffer
的定义不正确。将其更改为:
unsigned char filebuffer[6400];