資源簡介
這是鄧學究^-^第二本書的源碼,網上的大多不完整,浪費積分。我這份是新辛苦找到的。

代碼片段和文件信息
//?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? {
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例
- 下一篇:智能快速充電器設計與制作
評論
共有 條評論