㈠ 怎麼使用lua腳本
LUA腳本語言基本使用方法是本文要將介紹的內容,主要是來學習Lua腳本語言的使用方法,具體內容來看本文詳解。
先要把下邊這些語句加入到VC中的頭文件,一般是加到StdAfx.h中
extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" #pragma comment(lib, "lualib.lib") #pragma comment(lib, "lua.lib") }
然後一般來說都使用一個全局的LUA庫定義的這個東西
lua_State* g_Lua;
並且在工程處初始化時也給LUA初始化
g_Lua = lua_open(); **加這句 /* load Lua base libraries */ 網上一些教材中這么寫的 lua_baselibopen(g_Lua); 不過我這簡單的例子中不用到這些也行 lua_tablibopen(g_Lua); lua_iolibopen(g_Lua); lua_strlibopen(g_Lua); lua_mathlibopen(g_Lua);
緊接著聲明介面函數,注冊上函數
lua_register(g_Lua, "Message", myMessage);
好,初始化部分完了,看看介面函數的寫法。
函數必須這樣的格式來寫
static int Func(lua_State *L) { 靜態型函數,而且必須帶參數為lua_State結構指針 返回的值是代表返回的數據個數,比如return 2;就可以代表 返回兩個整數啊,浮點數什麼的,象LUA的腳本編寫就可以這樣 i, j = Func() , 這樣就表示可以從Func介面函數中得到兩個返回值了 return 0; }
執行腳本語句可以讀文件,也可以直接讀函數名
注冊了
lua_register(g_Lua, "Message", myMessage); static int myMessage(lua_State *L) { OutputDebugString("OK"); return 0; } lua_dofile(g_Lua, strCurPath); //讀文件,必須給出完整的文件路徑名稱 lua_dostring(g_Lua, "Message()"); //直接讀函數
文件中只要寫上
Message()
就可以了。
㈡ lua腳本文件讀取驗證文本內容列表是否存在
local file = io.open("vip/123.txt")
for l in file:lines() do
print(l)
end
這樣就能輸出所有行了 具體看你怎麼用了
㈢ lua腳本 新人求教,很簡單的一個判斷,我就是搞不定!高手們教教我!跪謝了
不是太確定你要的是什麼功能
但我這里寫了一個小代碼 希望能幫助你
localstr=[[{/<Img:1321:0:0:0>QFunction<點擊下面箭頭所指圖片進入回收/SCOLOR=253></SCOLOR=13><Img:1134:0:0:0/@aa1><Img:1134:0:0:0/@aa2><Img:1134:0:0:0/@aa3><Img:1134:0:0:0/@aa4><Img:1134:0:0:0/@aa5><Img:1134:0:0:0/@aa6><Img:1134:0:0:0/@aa7><Img:1304:0:0:0/@aa8><Img:1139:0:0:0/@hhhhsss34230o0><Img:1305:0:0:0/@aa>\<Img:1321:0:0:0>}]]
forid,matchinstring.gmatch(str,"<Img:(%d+).-@(.-)>")do
print(id,match)
end
這里輸出了每個圖片11xx 這個數字和@後面的數字
你只要針對這個進行判斷再取出符合自己要求的值就行啦
㈣ lua腳本怎麼獲取當前正在執行的腳本的當前路徑
時代在發展科技在進步,互聯網已經不是什麼神秘的領域,現在越來越多的年輕人對於互聯網越來越熟悉,甚至有些開始學習Linux系統方面的知識,下面小猿圈Linux講師就講關於如何在Linux系統獲取當前工作路,希望對你有所幫助。
獲取工作路徑這里介紹兩種方法:
1、使用getcwd()函數。
頭文件:#include
定義函數:char*getcwd(char*buf,size_tsize);
函數說明:getcwd()會將當前的工作目錄絕對路徑復制到參數buf所指的內存空間,參數size為buf的空間大小。
實例:
voidgetPath()
{
charpPath[256]={0};
getcwd(buf,256);
printf("filePath:%s\n",pPath);
}
主函數調用此函數運行結果:
filePath:/home/myTest
2、使用readlink()函數
頭文件:#include<unistd.h>
函數定義:intreadlink(constchar*path,char*buf,size_tbufsiz);
函數說明:此函數會將參數path的符號連接內容到參數buf所指的內存空間,返回的內容不是以NULL作字元串結尾,但會將字元串的字元數返回。若參數bufsiz小於符號連接的內容長度,過長的內容會被截斷。成功返回buf長度,失敗返回-1。
實例:
voidgetPath()
{
charpPath[256]={0};
intret=-1;
ret=readlink("/proc/self/exe",pPath,256);
pPath[ret]="\0"
printf("thefilePath:%s\n",pPath);
}
intmain()
{
getPath();
}
運行結果:
thefilePath:/home/myTest/a.out
小猿圈Linux講師提醒大家:每天學習一點技術問題,只要功夫深,鐵杵磨成針,學習不是一朝一夕的,是需要付出行動的,而且還要堅持,學習新的技術需要不斷的查閱資料,看視頻,復習,練習,如果你工作中或者生活中遇到什麼問題,可以到小猿圈去尋找答案的,相信會給你滿意的答復