lua呼叫C庫之 字串切割存到table中

2021-10-03 12:01:57 字數 1489 閱讀 9194

main.c

#include

#include

#include

#include

#include

static

intl_split

(lua_state* l)

//插入最後乙個子串

lua_pushstring

(l, s)

;lua_rawseti

(l,-

2, i)

;return1;

//將結果表返回

}static lual_reg libs=

,};__declspec

(dllexport)

//這個很重要,設定這個函式為外部鏈結 linux不需要

intluaopen_mystring

(lua_state* l)

//函式名很重要這4個一定要這樣,

test_mystring.lua

local mystring =

require

("mystring"

)local tb = mystring.

split

("","."

)--執行後tb=

for i, v in ipairs

(tb)

doprint

(i, v)

--1是位置,v是值

end

執行結果:

3 comc 庫函式 char *strchr(const char *str, int c) 在引數 str 所指向的字串中搜尋第一次出現字元 c(乙個無符號字元)的位置。

舉例:

#include

#include

intmain()

執行結果:

.com現在清楚這個函式的作用了。

lua_rawseti

原型: void lua_rawseti (lua_state *l, int index, int n);

描述: 為table中的key賦值. t[n] = v .其中t是index處的table , v為棧頂元素.

這個函式不會觸發newindex元方法.

呼叫完成後彈出棧頂元素.

參考:

lua 和 c 語言進行互動 —— 如何傳遞table

c 庫函式 - strchr()

lua筆記-關於lua table的c api

c 切割字串

c 切割字串 1,按單一字元切割 string str org abcdce string str out str org.slipt c foreach string i in str out foreach string i in str out console.writeline i.tost...

C 切割字串

通過stl實現 涉及到string類的函式find find函式 原型 size t find const string str,size t pos 0 const 功能 查詢子字串第一次出現的位置。引數說明 str為子字串,pos為初始查詢位置。返回值 找到的話返回第一次出現的位置,否則返回st...

C 字串切割

一.字串陣列切割 函式原型 char strtok s char strtoken,const char strdelimit,char buf 引數 str,待分割的字串 delimiters,字串分割符,buf,自定義的變數。1.原理 該函式用來將字串分割成乙個個片段。引數str指向欲分割的字串...