openwrt uci api續: 找出匿名節點的"名字"
在使用uci api函式進行配置檔案管理的時候,有些配置檔案裡面會有匿名節點的存在。現有的uci api沒有直接支援修改匿名節點的api,所以想要修改匿名節點就略顯頭疼,甚至無從下手。其實匿名節點並非真的匿名,它也有名字存在。以下以/etc/config/wireless檔案為例:
這裡這個節點就是匿名節點(anonymous section),上面有說這個節點其實是有名字的,可以通過下面這個函式得到所有節點的名稱,包括匿名節點!
static void list_all_section() { struct uci_context *ctx = uci_alloc_context(); //申請一個uci上下文 struct uci_package *pkg = NULL; struct uci_element *e; //int i = 0; if(UCI_OK != uci_load(ctx, "/etc/config/wireless", &pkg)) return; //遍歷uci配置檔案的每一個節 uci_foreach_element(&pkg->sections, e) { struct uci_section *s = uci_to_section(e); //if(!strcmp("wifi-iface", s->type)) //進行節點型別刪選 //{ printf("section name is %s\n", s->e.name); //} } fclose(fp); uci_unload(ctx, pkg); uci_free_context(ctx); ctx = NULL; }
s->e.name就是節點的名字,接下來就和有名節點一樣,可以用uci的大批api來進行配置檔案的操作了。過兩天上傳本人對配置檔案操作的基本api介面
相關推薦
openwrt uci api續: 找出匿名節點的"名字"
在使用uci api函式進行配置檔案管理的時候,有些配置檔案裡面會有匿名節點的存在。現有的uci api沒有直接支援修改匿名節點的api,所以想要修改匿名節點就略顯頭疼,甚至無從下手。其實匿名節點並非真的匿名,它也有名字存在。以下以/etc/config/wireless檔
遞迴法找出某節點的所有父節點直到根節點
今天在C# and Java QQ群裡看到有人在問如下一題: “ 出道題目啊,我的面試題,碰到2次了sid pidA NULLB AC NULLD CE DF Esid是子節點,pid是父節點,查出f的所有父節點,一直查到他的根節點為止 ” 要求用sql語句寫出來,一時難倒
OpenWRT UCI API的使用——C語言
UCI 是OpenWRT為實現配置集中化而引入的一個軟體包, 通過修改UCI,可以實現對OpenWRT的絕對部分配置的修改.LUCI(OpenWRT 的WEB配置介面)也是通過讀UCI配置檔案的操作來實現使用者對路由的配置的。通過掌握UCI的API的使用,可以方便地將您的軟
Openwrt UCI API的使用
OpenWRT UCI API的使用 UCI 是OpenWRT為實現配置集中化而引入的一個軟體包, 通過修改UCI,可以實現對OpenWRT的絕對部分配置的修改.LUCI(OpenWRT 的WEB配置介面)也是通過讀UCI配置檔案的操作來實現使用者對路由的配置的。通過掌握
linked-list-cycle-ii——鏈表,找出開始循環節點
cnblogs xtra break cycle list ini def int using Given a linked list, return the node where the cycle begins. If there is no cycle, return
C 兩個連結串列中資料節點的資料域為一個字母 ,其中L1包含L2,在L1中找出與L2相等的字串,並將其逆置
前面相關操作在這呢,這個函式依託於此 //結構體 typedef struct Node { ElementType data; struct Node * next; } LNode, * LinkNode; //兩個連結串列中資料節點的資料域為一個字母 http
資料結構演算法題/找出兩個連結串列的第一個公共節點
分析:如果兩個單向連結串列有公共的結點,也就是說兩個連結串列從某一結點開始,它們的m_pNext都指向同一個結點。但由於是單向連結串列的結點,每個結點只有一個m_pNext,因此從第一個公共結點開始,之後它們所有結點都是重合的,不可能再出現分叉。所以,兩個有公共結點而部分重合的連結串列,拓撲形狀看起
找出二叉搜尋樹的最大節點和最小節點
problem:Write recursive versions of TREE-MINIMUM and TREE-MAXIMUM. typedef struct BiTNode { int data; struc
題目8 假定兩個帶頭節點的單鏈表,儲存單詞,字尾相同時共享相同空間,找出共同字尾的起始位置。
假定兩個帶頭節點的單鏈表,儲存單詞,字尾相同時共享相同空間,找出共同字尾的起始位置。 首先:這裡給出建立的程式碼:至於createList函式,寫在了標頭檔案中,後面統一給出。 char word1[]={'l','o','a','d'}; char word2[]={'p'
演算法題008 -- [寫一個程式找出兩個單鏈表的交叉節點] by java
題目 寫一個程式找出兩個單鏈表的交叉節點。 演算法要求: 如果兩個連結串列沒有交叉點,就返回null 這兩個連結串列必須在方法結束後保持他們原來的資料結構 你可以認定在連結串列的結構不存在環 時間複雜度O(n), 空間複雜度O(1) 舉例
二叉搜尋樹的最小節點絕對值之差/在二叉查詢樹中尋找兩個節點,使它們的和為一個給定值/找出 BST 中的所有眾數(出現頻率最高的元素)。
關於二叉樹的數值運算,一般考慮借用中序遍歷為陣列;再進行計算的思想。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *
2. 給定一個 query 和一個 text,均由小寫字母組成。要求在 text 中找出以同樣的順序連 續出現在 query 中的最長連續字母序列的長度。例如, query 為“acbac”,text
2. 給定一個 query 和一個 text,均由小寫字母組成。要求在 text 中找出以同樣的順序連 續出現在 query 中的最長連續字母序列的長度。例如, query 為“acbac”,text 為 “acaccbabb”,那麼 text 中的“cba”為最長的連續出現
程式設計師面試金典: 9.4樹與圖 4.2給定有向圖,設計一個演算法,找出兩個節點之間是否存在一條路徑。
#include <iostream> #include <stdio.h> #include <vector> #include <queue> using namespace std; /* 問題:給定有向圖,設計一個
題目8 假定兩個帶頭節點的單鏈表,儲存單詞,字尾相同時共享相同空間,找出共同字尾的起始位置。
假定兩個帶頭節點的單鏈表,儲存單詞,字尾相同時共享相同空間,找出共同字尾的起始位置。 首先:這裡給出建立的程式碼:至於createList函式,寫在了標頭檔案中,後面統一給出。 char wor
Openwrt下C呼叫UCI API
“uci”是”Unified Configuration Interface”(統一配置介面)的縮寫,意在OpenWrt整個系統的配置集中化。 許多程式在系統某處擁有自己的配置檔案,比如/etc/network/interfaces, /etc/expor
js 找出當前元素所包含的最後一個元素節點(不是文字節點)
elem.lastChild只能確保找出的是當前元素的最後一個節點,不能保證這個節點是元素節點還是文字節點。 為了確保找出的節點是當前元素的最後一個元素節點,可以如下寫: var elemChildren=elem.getElementByTagName("*"): if(
PHP 通過一個節點找出所有父節點
如圖,拿到所有給出節點的父節點。百度搜了半天,都是通過父節點找子節點的。無奈,後來只能自己寫了。遍歷+遞迴,大神們不要鄙視我。。。我資料結構。。。<?php //測試資料 $arr = [ ['id'=>8,'pid'=>7,'username'=&
LeetCode 重構二叉搜尋數,即找出兩個被交換的節點
題意:二叉搜尋樹中,有兩個結點的位置被交換了,請找出這兩個結點並交換回來。 “直觀的想法可能是中序遍歷一遍二叉樹,得到一個有序的二叉樹,然後找出其中逆序的地方,交換回來就好了。但這樣空間複雜度就是O(n),題目要求O(1)。 我們來分析下有哪些情況:1) 被交換的兩個結點相鄰,如124356,這樣只需要把相
連結串列---找出單鏈表中倒數第k個節點
思路: 1、迭代,二指標,快的先走n步,然後一起走,當fast走到最後,slow就是結果 2、遞迴,到達連結串列末尾返回一個0計數器,當計數器等於k時就是第k個 迭代 ListNode nthToLast(ListNode head, int n) {
找出有環連結串列中環的起始節點
給定一個有環的連結串列,寫一個演算法,找出環的起點。 例如: 輸入:A->B->C->D->E->C[與前面的C是同一個節點] 輸出:C 判斷一個連結串列是否存在環有一個簡單的方法,就是使用一個快指標、和一個慢指標,快指標每次走兩步,慢指