FSN檔案的解析(點鈔機讀取錢幣檔案)

2021-07-23 18:41:59 字數 2858 閱讀 4745

1、fsnparser.h檔案

#pragma once

#include #include #include #include #define read_size 100

/*** @brief 單個影象結構

*/typedef struct

boc_boc_timagesnodata;

/*** @brief 影象冠字號碼結構

*/typedef struct

boc_timagesno;

typedef struct

boc_header_fromat;

/*** @brief 檔案記錄結構

*/typedef struct

boc_tagdata_fromat;

typedef struct tktimagesno_file;

//u32_imgdatalen

//資料

typedef struct tkfsn_record_file;

//2015-10號文,保留字的組成

typedef struct

fsn_reserve, *pfsn_reserve;

#pragma pack()

enum imagetype

;typedef struct

boc_tagrecord_data;

struct money_info

;using namespace std;

class fsnparser

;

2、fsnparser.cpp檔案

#define _crt_secure_no_warnings

#include "fsn_parser.h"

#include #include void* __cdecl memcpy(void* dst,const void* src,size_t count)

#else

while (count--)

#endif

return (ret);

}//解析fsn檔案

//boc_tagdata_fromat *btf = (boc_tagdata_fromat*)malloc(sizeof(boc_tagdata_fromat*));

//int len = sizeof(boc_tagdata_fromat*);

std::vectorfsnparser::readtk(std::string &filename,int ncount)

char buffer[3072] = ;

int iread_offset = 0;

iread_offset += sizeof(boc_header_fromat);

int read_size = read_size; //檔案記錄

int position = 0;

std::vectorvec_moneyinfo;

fseek(myf, 0, 2);

int filesize = ftell(myf); //求檔案的長度

while (!feof(myf))

fclose(myf);

return vec_moneyinfo;

}money_info fsnparser::inslist(vector& vecrecord, int nstartpos)

m_info.id = tmpbuf;//

//charnum

memset(tmpbuf, 0, 26);

sprintf_s(tmpbuf, "%d", pdata->charnum);

m_info.charnum = tmpbuf;//

//面值

memset(tmpbuf, 0, 26);

sprintf_s(tmpbuf, "%d", pdata->valuta);

m_info.value = tmpbuf; //

//momeyid 幣種

memset(tmpbuf, 0, 26);

for (j = 0; j < 4; j++)

m_info.kinds = tmpbuf; //

//真偽

memset(tmpbuf, 0, 26);

sprintf_s(tmpbuf, "%d", pdata->tfflag);

m_info.isreal = tmpbuf;

//錯誤碼

memset(tmpbuf, 0, 26);

idlevel = (pdata->errorcode[1] >> 8);

//機具編號

memset(tmpbuf, 0, 26);

for (j = 0; j < 24; j++)

m_info.machinesno = tmpbuf;//

//時間戳

memset(tmpbuf, 0, 26);

sprintf_s(tmpbuf, "%04d-%02d-%02d %02d:%02d:%02d", (pdata->date >> 9) + 1980, (pdata->date >> 5) & 0x0f, pdata->date & 0x1f,

(pdata->time >> 11), (pdata->time >> 5) & 0x3f, (pdata->time << 1) & 0x3f);

m_info.time = tmpbuf;//

return m_info;

}}

3、測試**

int main()

VC 中XML檔案的解析讀取寫入

1 在stdafx.h中引用如下 include tlh msxml4.tlh using namespace msxml2 if win32 winnt 0x0400 hresult hres coinitializeex null,coinit multithreaded else hresul...

python檔案讀取,json解析報錯的原因

前言環境 python 3.6 詳情 報 ascii cannot decode in range 這個問題有很多人回答,包括有sys.setdefaultencoding python3已廢棄 然而我再報這個錯誤的時候我發現這些問題都不是,列印出js,發現是由於js串裡面有 n 字元報錯,保證js...

如何讀取解析配置檔案的內容

使用filechangedreloadingstrategy修改後即使不重啟,也能獲取到最新的內容 test public void test1 throws configurationexception,interruptedexception 內容 name xiao age 21 flag f...