我想在程序中嵌入文件。如果沒有提供,它將用於默認配置文件。我意識到我可以使用默認值,但我想提取文件並將其放在磁盤上以便修改。將文件嵌入到程序中
0
A
回答
-2
3
通過嵌入你的意思是分發你的程序沒有文件?
然後,您可以將它轉換爲構建工具鏈中的配置初始化代碼。添加makefile步驟(或者您正在使用的任何工具) - 將該.cfg文件轉換爲一些初始化配置數據結構的C++代碼文件的腳本。這樣,您可以修改.cfg文件,重建項目,並將新值反映到裏面。
順便說一句,在Windows上,您可能有幸將數據嵌入到resource file中。
+0
那麼我真的想做的是有一個我的程序能夠從引擎內生成一個有效的文件,例如.png文件。我希望能夠將這些文件生成到磁盤上,有點像zip文件。 – Jeff 2010-02-18 03:45:26
2
嵌入式數據通常被稱爲「資源」。 C++不提供本地支持,但可以用幾乎所有可執行文件格式進行管理。嘗試搜索C++的資源管理器。
2
,你可以做一個共同點是表示該文件數據的靜態字節數組:
// In a header file:
extern const char file_data[];
extern const size_t file_data_size;
// In a source file:
const char file_data[] = {0x41, 0x42, ... }; // etc.
const size_t file_data_size = sizeof(file_data);
然後將文件數據將只被編譯成可執行的字節,你可以參考的一個全局數組任何地方。您必須重寫您的文件處理代碼才能處理原始字節數組,或者使用類似fmemopen(3)
之類的方法從數據打開僞文件句柄,並將其傳遞到您的文件處理代碼。
當然,要將數據轉換爲這種形式,您需要使用某種預處理步驟將文件轉換爲編譯器可以接受的字節數組。 makefile對此很有用。
相關問題
- 1. VS2010未將文件嵌入程序集
- 2. 將現有的exe文件嵌入到另一個程序中
- 3. 將python嵌入到安裝程序中
- 4. 將數據嵌入到C++程序中
- 5. 將文件導入到R程序中?
- 6. 將Javascript嵌入到.bat文件中
- 7. 將Java Applet嵌入到.html文件中
- 8. 將m文件嵌入到Simulink中
- 9. 將php嵌入到php類文件中
- 10. 將清單嵌入到exe文件中
- 11. 將JAR文件嵌入到HTML中?
- 12. 將標記文件嵌入到JAR中
- 13. 將aac(m4a)文件嵌入到HTML中
- 14. Rmarkdown:將html文件嵌入到ioslides中
- 15. 將Flash嵌入到WPF應用程序
- 16. 將Ogre嵌入到Qt應用程序
- 17. 將matplotlib嵌入到tkinter應用程序
- 18. 將java小程序嵌入到C#桌面應用程序中
- 19. 將Flash/Flex組件嵌入到Java應用程序中
- 20. 將用戶控件嵌入到程序集中
- 21. 將COM組件嵌入到AIR應用程序中?
- 22. 將序列號嵌入到PDF文件中?
- 23. 將資源嵌入到二進制映像/程序可執行文件/ .exe中?
- 24. 將文件嵌入到C#.NET應用程序中,然後慢慢讀取它?
- 25. 如何將SQLite DB(* .db文件)嵌入到AIR應用程序中?
- 26. 如何將.swf文件嵌入到我的Google App Engine應用程序中?
- 27. 如何將批處理文件嵌入到c#應用程序中
- 28. 可以將PDF文件和視頻嵌入到iOS應用程序中嗎?
- 29. 如何將擴展程序提供的函數嵌入到.ods文件中
- 30. 將視頻嵌入到遠程mp4文件的feed文章
發現你有一個副本:http://stackoverflow.com/questions/1074362/embedded-resource-in-c由於在C++的其他上下文中使用「資源」和「管理」但我相信我已經看到了Linux和Mac的問題以及... – dmckee 2010-02-18 03:46:27
linux dup:http://stackoverflow.com/questions/72616/embed-data-in-ac-program(早期序列號,太) – dmckee 2010-02-18 03:51:10
除非你想完全自己做,這是特定的庫和/或操作系統 - 添加你想要做的環境。 – 2010-02-18 03:53:51