0

我有一个 WAB 文件(Windows 通讯簿),如下所示(十六进制):

1F00483A 18000000 53007000 6F007500 73006500 5F006100 7A006100 6D000000
1F10583A 02000000‌ 32000000 16000000 4E006500 77002000 43006800 69006C00
64003200 00001400 00004E00 65007700 2‌0004300 68006900 6C006400 00001F00
183A0C00 00005200 20002600 20004400 00001F00 193A2800 00‌006D00 61006900
6E002000 62007200 61006E00 63006800 20006700 75007200 67006100 6F006E00
000‌​0

我正在尝试从文件中读取二进制数据并将其作为文本输出。我目前的代码如下:

int nOfRecord, TotalSize, data=0;
fread(&nOfRecord, 1, 4, pFile);
fread(&TotalSize, 1, 4, pFile);
data = TotalSize;
char* Main_buffer = (char*)malloc(data*sizeof(data));
fread(Main_buffer, 1, TotalSize, pFile);
fwrite(Main_buffer, 1, TotalSize, tempFile);
free(Main_buffer);

当我打开输出文本文件时。查到数据如下: S pouse_azam 每个字符之间有一个空格。我怎样才能删除这个空间。

4

0 回答 0