⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webrom.cpp

📁 监听端口坎坎坷坷??可 阔阔卡坎坎坷坷卡
💻 CPP
字号:
#include <stdio.h>
#include <string.h>
#include <assert.h>

#define MAXFILELEN  10000
char	filedata[MAXFILELEN+100];


int readfile(char* buf, char* fname, char* hdr){
	int len=0;
	FILE* in;
	strcpy(buf,hdr);
	len = strlen(hdr);								//写入html的报文头
	in = fopen(fname, "rb");
	assert(in!=NULL);
	len += fread(&buf[len], 1, MAXFILELEN, in);

	assert(!ferror(in));
	assert(feof(in));
	
	if(ferror(in))
		len=0;
	printf("the total number of file is %5u\n",len);
	fclose(in);
	return len;
}

void writeByte(FILE* fp, char byte){
	static int i=0;
	if(++i == 12){
		fprintf(fp, "\n");
		i=0;
	}
	printf("%c",byte);				//for debug only, notice key "Enter" equals 0x0d,0x0a.
	fprintf(fp,"0x%02x,",byte);
}

void writeString(FILE* fp, char* s, int len){
	int i;
	for(i=0;i<len;i++){
		writeByte(fp,*(s+i));
	}
}


int main(int argc, char* argv[]){
	FILE* foutc;
	int filelen;
	char* filec=argv[2];									//argv[2];
	char* hdr="http/1.0 200 ok\r\nContent-type: text/html\r\n\r\n";
	char* arrayHeader="char index[] = {";
	char* arrayTailer="};";

	foutc=fopen(filec, "wb");
	assert(foutc!=NULL);
	filelen=readfile(filedata,argv[1],hdr);

	fprintf(foutc,arrayHeader);								//写入数组的头部
	writeString(foutc, filedata, filelen);					////写入数组的内容
	fprintf(foutc,arrayTailer);								//写入数组的尾部

	//fwrite(filedata,1,filelen,foutc);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -