我有3个申请。一个是写入器(32位),另外两个是读取器(一个是32位,另一个是64位)。 编写器将给定的数据写入两个文件,一个将由32位应用程序读取,另一个将由64位应用程序读取。 数据采用结构的形式,包含指向数据缓冲区的指针。以下是一个:
typedef struct userMap {
char customer_refid[256];
char cookieId[64];
char *authPayload;
struct userMap *hh_prev;
struct userMap *hh_next;
};
要在64位应用程序的文件中编写此结构,我唯一想到的是将32位指针转换为64位指针。我的意思是将char *authPayload
转换为char *__ptr64 authPayload
以达到目的。
我应该考虑实现相同的其他事情,因为64位应用程序进行的fread()
调用返回损坏的缓冲区,如果我按原样编写结构?
注意:authPayload指向某个数据缓冲区,我将使用fwrite()
将此结构写入文件。