我有一个由其他人为POS设备编写的应用程序的C代码。 有一些文本文件已使用TCP套接字进行更新。 但是使用普通的文本文件阅读器(记事本/单词)无法读取这些文件的内容。当我打开文件时,它显示如下图像:
但是在代码中它没有错误地读取。它使用memcpy
进行读取。
该代码部分如下所示。
stat("farestructure.txt", &st_t);
fSize = st_t.st_size;
fd = open("farestructure.txt",O_RDWR);
lseek(fd, 0, SEEK_SET);
readSize = read(fd, tempBuffer, fSize);
close(fd);
if(readSize!=fSize)
{
printf("File Read Error\n");
return -1;
}
k = 0;
memcpy(&(fs.fareStructureVersion), tempBuffer+k, 4);
k=k+4;
memcpy(fs.commenceDatetime, tempBuffer+k, 7);
k=k+7;
memcpy(fs.expiryDatetime, tempBuffer+k, 7);
k=k+7;
memcpy(&(fs.sectionCount), tempBuffer+k, 2);
k=k+2;
memcpy(&(fs.consessionTypeID1), tempBuffer+k, 1);
k=k+1;
这是字节格式吗? 如何在文件中阅读此内容?