#include "stdafx.h"
#include <stdio.h>
#include <vector>
using namespace std;
typedef struct _AlarmInfo
{
BYTE b1;
BYTE b2;
BYTE b3;
long l1;
long l2;
BYTE b4;
long l3;
CString str;
CString strError;
CString strDescrip;
}stAlarmInfo;
typedef vector<stAlarmInfo> vecAlarmInfo;
vecAlarmInfo vecAlarm;
void GetChild(char cBuf[])
{
char seps[] = " ";
char *token = NULL;
int i = 0;
char cTemp[10] = {0};
stAlarmInfo AlarmInfo;
token = strtok(cBuf, seps);
while (token != NULL)
{
switch (i)
{
case 0:
AlarmInfo.b1 = *token;
break;
case 1:
AlarmInfo.b2 = *token;
break;
case 2:
AlarmInfo.b3 = *token;
break;
case 3:
AlarmInfo.l1 = *token;
AlarmInfo.l1 -= 48;
break;
case 4:
AlarmInfo.l2 = *token;
AlarmInfo.l2 -= 48;
break;
case 5:
AlarmInfo.b4 = *token;
break;
case 6:
AlarmInfo.l3 = *token;
AlarmInfo.l3 -= 48;
break;
case 7:
AlarmInfo.str = token;
break;
case 8:
AlarmInfo.strDescrip = token;
break;
case 9:
AlarmInfo.strError = token;
break;
default:
break;
}
printf("%s/r/n", token);
token = strtok(NULL, seps);
i++;
}
vecAlarm.push_back(AlarmInfo);
}
BOOL ReadUnicodeFile1(char cBuf[])
{
FILE *file = fopen("C://Documents and Settings//Administrator//桌面//test.txt", "rb");
if (file == NULL)
{
fprintf(stderr, "Source file open error./n");
return -1;
}
wchar_t buf[1024];
char ansi[2048] = {0};
fseek(file,2,0);
while (!feof(file))
{
fgetws(buf, 1024, file);
WideCharToMultiByte(CP_ACP, 0, buf, -1, ansi, sizeof(ansi), NULL, NULL);
GetChild(ansi);
}
fclose(file);
return 0;
}
int main(int argc, char* argv[])
{
char cBuf[65535] = {0};
ReadUnicodeFile1(cBuf);
return 0;
}