本人是學習C++的新人,請如下問題
請教有關大量資料固化到程式里的辦法
比如原始資料在EXCEL,大概800行,每行100列資料,首列為字符,其它列為double 或long
uj5u.com熱心網友回復:
直接寫到代碼里面uj5u.com熱心網友回復:
僅供參考:#include <stdio.h>
#include <string.h>
#include <conio.h>
FILE *fi,*fo;
unsigned int n;
int c;
//-------------------------------------------------------
void main(int argc,char *argv[])
{
if (argc<3) {
cprintf("Bin2Hex srcfile desfile");
return;
}
if ((fi=fopen(argv[1],"rb"))==NULL) {
cprintf("Can not find file %s",argv[1]);
return;
}
if ((fo=fopen(argv[2],"w"))==NULL) {
fclose(fi);
cprintf("Can not create file %s",argv[2]);
return;
}
n=0;
while (1) {
c=fgetc(fi);
if (EOF==c) break;
n++;
if (1==n) fprintf(fo, "0x%02X",c);
else {
if (1==n%16) fprintf(fo,"\n0x%02X",c);
else fprintf(fo, ",0x%02X",c);
}
}
fcloseall();
cprintf("OK to Bin2Hex %u bytes.",n);
}
uj5u.com熱心網友回復:
可以作為資源檔案編譯連接到exe檔案。uj5u.com熱心網友回復:
bin2h 任意資源生成.h頭檔案,里面是char陣列。
uj5u.com熱心網友回復:
為什么要固化到程式,改成配置好一點吧,如果為了提高加載速度倒是可以考慮,但是這點資料幾乎可以忽略了uj5u.com熱心網友回復:
想問一下資料固化到底是什么意思,我們沒講過uj5u.com熱心網友回復:
有沒有聽過最近出現的一個笑話:
某個官方的考試分數查詢網站,代碼大概是這樣的:
if name == "a" then
return 100;
if name == "b" then
return 89;
...
這不就是把資料直接放在代碼里面了嗎?
不過這并不是某個教程或者某個官方給的術語
uj5u.com熱心網友回復:
#definestatic const
enum
uj5u.com熱心網友回復:
全域變數, 把資料寫到全域變數exe檔案尾巴上也是可以添加資料的, 添加完了之后修改一下exe的檔案頭結構就可以了
當然,也要知道自身的長度, 加載到時候雖然這個部分不自動的加載記憶體的,但是他是隨exe一起分發的, 你是可以只讀方式打開并讀取出來的。
你可以想想, 病毒感染exe檔案的原理就是了。
不會你就是要干這事兒吧
那就不多說了,免得又出來個不良少年
uj5u.com熱心網友回復:
想問一下資料固化到底是什么意思,我們沒講過
直接寫到代碼里面
有沒有聽過最近出現的一個笑話:
某個官方的考試分數查詢網站,代碼大概是這樣的:
if name == "a" then
return 100;
if name == "b" then
return 89;
...
這不就是把資料直接放在代碼里面了嗎?
不過這并不是某個教程或者某個官方給的術語
所以說資料固化大概就是說把我的資料直接寫到代碼里面?
uj5u.com熱心網友回復:
想問一下資料固化到底是什么意思,我們沒講過
直接寫到代碼里面
有沒有聽過最近出現的一個笑話:
某個官方的考試分數查詢網站,代碼大概是這樣的:
if name == "a" then
return 100;
if name == "b" then
return 89;
...
這不就是把資料直接放在代碼里面了嗎?
不過這并不是某個教程或者某個官方給的術語
所以說資料固化大概就是說把我的資料直接寫到代碼里面?
我猜是想這樣,不然如何”固化“呢?
uj5u.com熱心網友回復:
好的,我知道了,謝謝你的解答轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/81114.html
標籤:其它技術問題
上一篇:c語言指標問題(大二菜鳥)
下一篇:新手求助!資料范圍問題
