📄 webrom.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 + -