资源简介
这是邓学究^-^第二本书的源码,网上的大多不完整,浪费积分。我这份是新辛苦找到的。

代码片段和文件信息
// 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 字节为单位 */
TCHAR outFileName[MAX_PATH]; /* 输出文件名 */
DWORD outOffset; /* 输出文件偏移 以 512 字节为单位 */
DWORD nCount; /* 块数 */
//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 < mergeConfigIndex; 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节点数、CPU插槽个
- 基于Blackfin 处理器的TFT LCD 驱动设计
- 虚拟化架构助力苏州地税创新IT基础架
- IBM System x虚拟化解决方案
- HDS推出经济适用的USP VM 满足企业虚拟
- 借助NetApp虚拟化解决方案简化VMware环
- DBX数字音频处理器调试软件
- 基于ARM7处理器的CAN总线网络设计
- 基于ARM7TDMI微处理器的矿用电子皮带秤
- 基于ARM7微处理器的中文液晶显示
- 基于ARM微处理器的液晶触摸屏接口设
- 基于ARM7微处理器的智能型甲烷检测器
- 虚拟化iSCSI SAN:实现虚拟化基础架构
- 大话处理器:处理器基础知识读本高
- 利用存储虚拟化整合企业存储资源
- 基于四核和双核英特尔:registered: 至强
- 英特尔:registered: 酷睿:trade_mark:双核处
- 英特尔:registered: 酷睿:trade_mark:2 双核
- 四核英特尔:registered: 至强:registered:
- 英特尔:registered: 酷睿:trade_mark:2 双核
- 英特尔:registered:至强:registered:处理器
- 基于英特尔:registered: 至强:registered:
- 企业级存储系统:高效、虚拟化及闪
- IBM DS5000系列虚拟化系统实际性能验证
- 四核英特尔:registered: 至强:registered:
- 在IBM System x3850 X5上实现高可用性的虚
- 基于FPGA的移位寄存器流水线结构FFT处
- 桌面虚拟化的推动力、难题和最佳实
评论
共有 条评论