成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于C++讀取Lua配置文件實現案例

移動開發 iOS
使用C++讀取Lua配置文件實現案例是本文要介紹的內容,主要是來了解并學習一下lua的配置文件的使用,本文內容主要是以代碼來實現,具體內容來看本文詳解。

使用C++讀取Lua配置文件實現案例是本文要介紹的內容,主要是來了解并學習一下lua配置文件的使用,本文內容主要是以代碼來實現,具體內容來看本文詳解。

  1. //LuaEx.h文件  
  2.  
  3. #pragma once  
  4. #include <Windows.h> 
  5. extern "C"  
  6. {  
  7. #include "lua/lua.h"  
  8. #include "lua/lualib.h"  
  9. #include "lua/lauxlib.h"  
  10. };  
  11.  
  12. class LuaEx  
  13. {  
  14. public:  
  15. LuaEx(void);  
  16. ~LuaEx(void);  
  17. bool LoadFile(LPCSTR str); //載入lua文件  
  18. LPSTR LoadString(LPCSTR str); //讀取字符串  
  19. int LoadInteger(LPCSTR str); //讀取整形  
  20. double LoadDouble(LPCSTR str); //讀取浮點型  
  21. bool LoadBoolean(LPCSTR str); //讀取布爾型  
  22.  
  23. private:  
  24. lua_State *L; //lua指針  
  25. };  
  26.  
  27. //LuaEx.cpp文件  
  28.  
  29. #include ".\luaex.h"  
  30. #pragma comment(lib, ".\\lua\\lua.lib")  
  31.  
  32. LuaEx::LuaEx(void)  
  33. {  
  34. L = lua_open();  
  35. luaL_openlibs(L);  
  36. }  
  37.  
  38. LuaEx::~LuaEx(void)  
  39. {  
  40. lua_close(L);  
  41. }  
  42.  
  43. bool LuaEx::LoadFile(LPCSTR str)  
  44. {  
  45. if(luaL_dofile(L, str))  
  46. {  
  47. return false;  
  48. }  
  49. return true;  
  50. }  
  51.  
  52. LPSTR LuaEx::LoadString(LPCSTR str)  
  53. {  
  54. lua_getglobal(L, str);  
  55. if (lua_isstring(L, -1))  
  56. {  
  57. return (LPSTR)lua_tostring(L, -1);  
  58. }  
  59. return NULL;  
  60. }  
  61.  
  62. int LuaEx::LoadInteger(LPCSTR str)  
  63. {  
  64. lua_getglobal(L, str);  
  65. if (lua_isnumber(L, -1))  
  66. {  
  67. return (int)lua_tointeger(L, -1);  
  68. }  
  69. return NULL;  
  70. }  
  71.  
  72. double LuaEx::LoadDouble(LPCSTR str)  
  73. {  
  74. lua_getglobal(L, str);  
  75. if (lua_isnumber(L, -1))  
  76. {  
  77. return (double)lua_tonumber(L, -1);  
  78. }  
  79. return 0.0;  
  80. }  
  81.  
  82. bool LuaEx::LoadBoolean(LPCSTR str)  
  83. {  
  84. lua_getglobal(L, str);  
  85. if (lua_isboolean(L, -1))  
  86. {  
  87. return (bool)lua_toboolean(L, -1);  
  88. }  
  89. return false;  

在要使用配置文件的地方實例化一個LuaEx類就可以了。

先調用LoadFile載入文件,參數為文件路徑。文件格式可以按照如下方式:

  1. title = "游戲" 
  2. width = 640 
  3. height = 480 
  4. isWindowed = true;  
  5. useSound = false;  
  6. hideMouse = false

結尾分號可加可不加,就是寫一個lua腳本,但是只包含變量不包含方法。

之后就可以讀取其中內容了。例如

  1. LoadString("title"); //表示載入變量名為title的變量的值。 

本類中所有函數的參數都是字符串。

 

小結:關于C++讀取Lua配置文件實現案例的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2009-08-13 09:58:55

C#讀取配置文件

2009-08-13 09:16:57

C#讀取配置文件

2022-11-10 09:05:18

Lua配置文件

2010-02-01 13:26:58

C++讀取CSV文件

2011-08-31 16:47:07

Lua調試器

2022-01-14 09:10:56

C++文件Linux

2009-07-10 10:37:11

WINAPI

2011-08-22 17:25:31

LuaC++函數

2011-08-22 17:13:00

LuaC++函數

2011-08-25 16:47:53

LuaC++ 證書

2010-08-03 09:20:33

Flex讀取XML配置

2011-09-08 16:07:13

Widget配置文件

2013-07-30 11:30:42

Windows PhoWindows Pho

2023-10-31 12:59:00

C++編程語言

2013-12-13 16:53:00

Lua腳本語言C++

2023-08-07 16:14:32

propertiesSpring框架

2009-11-27 08:59:29

VS2003配置文件

2011-08-24 14:14:13

LUA環境 配置

2024-04-25 12:35:14

JSONC#開發

2013-05-30 15:02:33

dom4j反射
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人综合一区二区三区 | 久久国产精品-国产精品 | 久久久久99 | 国产一区二区激情视频 | 欧美理论片在线 | 91九色视频| 免费毛片网站在线观看 | 国产精品综合视频 | 国产在线一区二区 | 亚洲免费视频网站 | 超碰男人天堂 | 亚洲国产欧美国产综合一区 | 国产色网| 亚洲成人网在线播放 | 91久久精品国产 | 中文字幕爱爱视频 | 日日操夜夜摸 | а√中文在线8 | 正在播放国产精品 | 欧美久久久电影 | 欧美在线综合 | 操人网| 天天看天天摸天天操 | 亚洲二区在线 | 亚洲精品久久久久久久久久久 | 国产精品久久久久久久7电影 | av在线免费观看网站 | 欧美日韩国产在线观看 | 在线观看免费av片 | 人人玩人人添人人澡欧美 | 精品美女视频在线观看免费软件 | 欧美日本一区二区 | 亚洲人成免费 | 欧美中文字幕在线观看 | 精品国模一区二区三区欧美 | 国产亚洲一区二区三区 | 日韩免费视频 | 日本精品一区 | 亚洲精品成人在线 | 99久久99热这里只有精品 | 国产欧美精品一区二区色综合朱莉 |