谢谢你的回答 ,能附点代码详细讲 解下吗?初学真的不知道如何下手,怎么把第一个行数据存入一个数组,一共十六个数据,到;结束,
追答// aaa.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE * pFile;
long lSize;
char * buffer;
size_t result;
pFile = fopen ( "SWJDATA.DAT" , "rb" ); // "rb":以二进制方式打开文件
if (pFile==NULL) {fputs ("File error",stderr); getchar();return -1;}
// 获取文件大小:
fseek (pFile , 0 , SEEK_END);
lSize = ftell (pFile);
rewind (pFile);
// 分配内存
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL) {fputs ("Memory error",stderr); getchar();return -2;}
// 将文件读入内存
result = fread (buffer,1,lSize,pFile);
if (result != lSize) {fputs ("Reading error",stderr); getchar();return -3;}
fputs ("The whole file is now loaded in the memory buffer. \n",stderr);
// 打印前十六个字节:
printf("Hex show:\n");
for(int i=0; i<16; i++)
{
printf("%02X ", (unsigned char)buffer[i]);
}
printf("\n");
printf("Dec show:\n");
for(int j=0; j<16; j++)
{
printf("%03d ", (unsigned char)buffer[j]);
}
printf("\n");
getchar();
// terminate
fclose (pFile);
free (buffer);
return 0;
}