代碼片段和文件信息
//?merge.cpp?:?Defines?the?entry?point?for?the?console?application.
//
#include?“stdafx.h“
#include?
#include?seTsd.h>
#include?
#include?
#include?
#define?BUF_SIZE 512
#define?MAX_LINE 250
#define?MAX_CONFIG_LINE 30
typedef?struct
{
TCHAR?inFileName[MAX_PATH]; /*?輸入文件名?*/
DWORD?inOffset; /*?輸入文件偏移,以?512?字節(jié)為單位?*/
TCHAR?outFileName[MAX_PATH]; /*?輸出文件名?*/
DWORD?outOffset; /*?輸出文件偏移?以?512?字節(jié)為單位?*/
DWORD?nCount; /*?塊數(shù)?*/
//HANDLE?hInFile; /*?輸入文件?HANDLE?*/
//HANDLE?hOutFile; /*?輸出文件?HANDLE?*/
}?MERGE_CONFIG?*LPMERGE_CONFIG;
MERGE_CONFIG?mergeConfig[MAX_CONFIG_LINE];
static?DWORD?mergeConfigIndex?=?0;
static?BOOL?GetMergeConfig(LPTSTR?lpLine);
static?void?PrintMergeConfigTable();
static?VOID?ReportError(LPCTSTR?userMessage?DWORD?exitCode?BOOL?printErrorMessage);
int?_tmain(int?argc?_TCHAR*?argv[])
{
HANDLE?hIn?hOut;
FILE?*fp;
errno_t?err;
TCHAR?chLine[MAX_LINE];
BYTE?buf[BUF_SIZE];
DWORD?i?nIn?nOut;
BOOL?bSuccess?=?TRUE;
TCHAR?msgError[100];
/*?打印作者信息?*/
_tprintf(_T(“\n“));
if?(argc?>?1)
{
ReportError(_T(“Usage:?merge\n“)?1?FALSE);
}
if?((err?=?_tfopen_s(&fp?_T(“config.txt“)?_T(“r“)))?!=?0)
{
ReportError(_T(“?“)?2?TRUE);
}
while?(_fgetts(chLine?BUF_SIZE?fp))
{
if?(!GetMergeConfig(chLine))
{
ReportError(_T(“Error:?merge?config?please?check?the?config.txt“)?3?FALSE);
}
}
for?(i?=?0;?i? {
hIn?=?CreateFile(mergeConfig[i].inFileName?GENERIC_READ?FILE_SHARE_READ?NULL?OPEN_EXISTING?FILE_ATTRIBUTE_NORMAL?NULL);
if?(hIn?==?INVALID_HANDLE_VALUE)
{
_stprintf_s(msgError?100?_T(“:?%s“)?mergeConfig[i].inFileName);
ReportError(msgError?4?TRUE);
}
hOut?=?CreateFile(mergeConfig[i].outFileName?GENERIC_WRITE?FILE_SHARE_READ?NULL?OPEN_EXISTING?FILE_ATTRIBUTE_NORMAL?NULL);
if?(hOut?==?INVALID_HANDLE_VALUE)
{
_stprintf_s(msgError?100?_T(“:?%s“)?mergeConfig[i].outFileName);
ReportError(msgError?4?TRUE);
}
if?(SetFilePointer(hIn?mergeConfig[i].inOffset?*?512?0?FILE_BEGIN)?==?INVALID_SET_FILE_POINTER)
ReportError(_T(“Error:?move?the?input?file?pointer?for?read“)?5?TRUE);
if?(SetFilePointer(hOut?mergeConfig[i].outOffset?*?512?0?FILE_BEGIN)?==?INVALID_SET_FILE_POINTER)
ReportError(_T(“Error:?move?the?output?file?pointer?for?write“)?5?TRUE);
bSuccess?=?TRUE;
__try
{
while?((mergeConfig[i].nCount?!=?0)?&&?ReadFile(hIn?buf?BUF_SIZE?&nIn?NULL)?&&?(nIn?>?0)?&&?bSuccess)
{
if?(!WriteFile(hOut?buf?nIn?&nOut?NULL))
{
//_tprintf(_T(“entry?#%d:\t%s?--->?%s:\tfailure\n“)?i?mergeConfig[i].inFileName?mergeConfig[i].outFileName);
bSuccess?=?FALSE;
}
mergeConfig[i].nCount--;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1232??2013-07-27?12:04??處理器虛擬化技術?鄧志\chap01\ex1-1\bs
?????文件???????3060??2013-08-27?17:51??處理器虛擬化技術?鄧志\chap01\ex1-1\build.bat
?????文件????1032192??2013-10-11?22:26??處理器虛擬化技術?鄧志\chap01\ex1-1\c.img
?????文件????????399??2013-10-11?22:26??處理器虛擬化技術?鄧志\chap01\ex1-1\config.txt
?????文件????1474560??2013-10-11?22:26??處理器虛擬化技術?鄧志\chap01\ex1-1\demo.img
?????文件????????740??2013-10-12?20:46??處理器虛擬化技術?鄧志\chap01\ex1-1\ex.asm
?????文件???????1232??2013-07-27?12:04??處理器虛擬化技術?鄧志\chap01\ex1-2\bs
?????文件???????3060??2013-08-27?17:51??處理器虛擬化技術?鄧志\chap01\ex1-2\build.bat
?????文件????1032192??2013-10-12?20:55??處理器虛擬化技術?鄧志\chap01\ex1-2\c.img
?????文件????????391??2013-10-12?20:55??處理器虛擬化技術?鄧志\chap01\ex1-2\config.txt
?????文件????1474560??2013-10-12?20:55??處理器虛擬化技術?鄧志\chap01\ex1-2\demo.img
?????文件???????1262??2013-10-13?00:51??處理器虛擬化技術?鄧志\chap01\ex1-2\ex.asm
?????文件???????1232??2013-07-27?12:04??處理器虛擬化技術?鄧志\chap02\ex2-1\bs
?????文件???????3060??2013-08-27?17:51??處理器虛擬化技術?鄧志\chap02\ex2-1\build.bat
?????文件????1032192??2013-10-14?11:04??處理器虛擬化技術?鄧志\chap02\ex2-1\c.img
?????文件????????391??2013-10-14?11:04??處理器虛擬化技術?鄧志\chap02\ex2-1\config.txt
?????文件????1474560??2013-10-14?11:04??處理器虛擬化技術?鄧志\chap02\ex2-1\demo.img
?????文件???????1588??2013-10-14?10:55??處理器虛擬化技術?鄧志\chap02\ex2-1\ex.asm
?????文件???????1232??2013-04-23?21:52??處理器虛擬化技術?鄧志\chap03\ex3-1\bs
?????文件???????3060??2013-08-27?17:51??處理器虛擬化技術?鄧志\chap03\ex3-1\build.bat
?????文件????1032192??2013-10-18?00:28??處理器虛擬化技術?鄧志\chap03\ex3-1\c.img
?????文件????????391??2013-10-18?00:28??處理器虛擬化技術?鄧志\chap03\ex3-1\config.txt
?????文件????1474560??2013-10-18?00:28??處理器虛擬化技術?鄧志\chap03\ex3-1\demo.img
?????文件???????8519??2013-10-21?17:21??處理器虛擬化技術?鄧志\chap03\ex3-1\ex.asm
?????文件????????767??2013-10-17?22:36??處理器虛擬化技術?鄧志\chap03\ex3-1\ex.inc
?????文件???????1232??2013-04-23?21:52??處理器虛擬化技術?鄧志\chap04\ex4-1\bs
?????文件???????3060??2013-08-27?17:51??處理器虛擬化技術?鄧志\chap04\ex4-1\build.bat
?????文件????1032192??2013-10-21?09:38??處理器虛擬化技術?鄧志\chap04\ex4-1\c.img
?????文件????????391??2013-10-21?09:38??處理器虛擬化技術?鄧志\chap04\ex4-1\config.txt
?????文件????1474560??2013-10-21?09:38??處理器虛擬化技術?鄧志\chap04\ex4-1\demo.img
............此處省略245個文件信息
- 上一篇:單片機實驗仿真50例
- 下一篇:智能快速充電器設計與制作
評論
共有 條評論
相關資源
- intel處理器指令集及基本結構
- SA1110處理器掌上電腦液晶顯示器設計
- 完美獲取 CPU 的 NUMA節(jié)點數(shù)、CPU插槽個
- 基于Blackfin 處理器的TFT LCD 驅動設計
- 虛擬化架構助力蘇州地稅創(chuàng)新IT基礎架
- IBM System x虛擬化解決方案
- HDS推出經(jīng)濟適用的USP VM 滿足企業(yè)虛擬
- 借助NetApp虛擬化解決方案簡化VMware環(huán)
- DBX數(shù)字音頻處理器調試軟件
- 基于ARM7處理器的CAN總線網(wǎng)絡設計
- 基于ARM7TDMI微處理器的礦用電子皮帶秤
- 基于ARM7微處理器的中文液晶顯示
- 基于ARM微處理器的液晶觸摸屏接口設
- 基于ARM7微處理器的智能型甲烷檢測器
- 虛擬化iSCSI SAN:實現(xiàn)虛擬化基礎架構
- 大話處理器:處理器基礎知識讀本高
- 利用存儲虛擬化整合企業(yè)存儲資源
- 基于四核和雙核英特爾:registered: 至強
- 英特爾:registered: 酷睿:trade_mark:雙核處
- 英特爾:registered: 酷睿:trade_mark:2 雙核
- 四核英特爾:registered: 至強:registered:
- 英特爾:registered: 酷睿:trade_mark:2 雙核
- 英特爾:registered:至強:registered:處理器
- 基于英特爾:registered: 至強:registered:
- 企業(yè)級存儲系統(tǒng):高效、虛擬化及閃
- IBM DS5000系列虛擬化系統(tǒng)實際性能驗證
- 四核英特爾:registered: 至強:registered:
- 在IBM System x3850 X5上實現(xiàn)高可用性的虛
- 基于FPGA的移位寄存器流水線結構FFT處
- 桌面虛擬化的推動力、難題和最佳實