91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

可以快速批量生成HTML/XML/WORD文檔/EXCEL文檔的簡易模板庫,模板庫為C語言實現(xiàn),非常簡單,只有一個文件。能夠按照模板格式生成HTML/XML/WORD文檔/EXCEL文檔等等各種文檔。比如,需要批量生成報表、單據(jù)、靜態(tài)網(wǎng)頁、配置文件等等,都可以編輯一個模板,然后用此代碼快速批量生成。

資源截圖

代碼片段和文件信息

/*++
Copyright(C)?Fang.
?
Module?Name:

????htmtmpl.c
????
Abstract:
?
????HTML?Template?helps?CGI?C?to?easy?manipulate?HTML?code?output.
????
Author:

????Fang(fangguicheng@21cn.com)?4/13/2007
?
Revision?History:

--*/

#include?
#include?
#include?
#include?
#include?“l(fā)inklist.h“


/************************************************************************/
/*?Type?declaration.????????????????????????????????????????????????????*/
/************************************************************************/

#define?MAX_HT_FILE_SIZE??(32*1024)
#define?MAX_HT_NAME_SIZE??32

#define?HT_TYPE_TEXT??0
#define?HT_TYPE_VAR???1
#define?HT_TYPE_BLOCK?2

typedef?struct?_HT_BLOCK
{
????LIST_ENTRY?Node;

????int??Type;
????char?Name[MAX_HT_NAME_SIZE+1];

????union
????{
????????char*?Text;
????????char*?Value;
????????LIST_ENTRY?SubBlockList;
????};

}HT_BLOCK?*PHT_BLOCK;

#define?HT_OUTPUT_NULL??????0
#define?HT_OUTPUT_STDOUT????1
#define?HT_OUTPUT_STRING????2


/************************************************************************/
/*?Global?variables.????????????????????????????????????????????????????*/
/************************************************************************/

LIST_ENTRY?MainList;


/************************************************************************/
/*?Help?functions.??????????????????????????????????????????????????????*/
/************************************************************************/

char*?LoadFile(char*?File?int*?Length)
{
????FILE*?HtmFile;
????char*?Buffer;
????int?FileSize;

????/*
?????*??Read?file?to?buffer.
?????*/
????HtmFile?=?fopen(File?“r+b“);
????if(HtmFile?==?NULL)
????????return?NULL;

????fseek(HtmFile?0?SEEK_END);
????FileSize?=?ftell(HtmFile);
????if(FileSize?==?-1?||?FileSize?>?MAX_HT_FILE_SIZE)
????{
????????fclose(HtmFile);
????????return?NULL;
????}

????Buffer?=?(char*)malloc(FileSize+1);
????if(Buffer?==?NULL)
????{
????????fclose(HtmFile);
????????return?NULL;
????}

????fseek(HtmFile?0?SEEK_SET);
????if(fread(Buffer?1?FileSize?HtmFile)?!=?(size_t)FileSize)
????{
????????fclose(HtmFile);
????????free(Buffer);
????????return?NULL;
????}

????fclose(HtmFile);
????Buffer[FileSize]?=?‘\0‘;
????*Length?=?FileSize;

????return?Buffer;
}

int?DeterminType(char*?Buffer?int?Length)
{
????if(Buffer[0]?==?‘{‘)
????????return?HT_TYPE_VAR;

????if(Length?>?9?&&?memcmp(Buffer?“