C語言鍵值對查詢匹配

2021-09-29 09:35:19 字數 1981 閱讀 2302

問題描述

鍵值對("key = value")字串,在開發中經常使用

要求1:請自定義乙個介面,實現根據key獲取

要求2:編寫測試用例

要求3:鍵值對中間可能有n多空格,請去除空格

int getkeybyvalue(char* keyvaluebuf, char* key, char* value, char* valuebuflen)

/*

鍵值對("key = value")字串,在開發中經常使用

要求1:請自定義乙個介面,實現根據key獲取

要求2:編寫測試用例

要求3:鍵值對中間可能有n多空格,請去除空格

int getkeybyvalue(char* keyvaluebuf, char* key, char* value, char* valuebuflen)

*/#define _crt_secure_no_warnings

#include

#include

#include

inttrimspace

(char

* inbuf,

char

* outbuf)

char

* p = inbuf;

int begin =0;

int end =

strlen

(p)-1;

int n =0;

if(end <0)

return-2

;while

(p[begin]

==' '

&& p[begin]!=0

)while

(p[end]

==' '

&& end >0)

if(end ==0)

n = end - begin +1;

strncpy

(outbuf, p + begin, n)

;//outbuf[n] = 0;

return0;

}int

getkeybyvalue

(char

* keyvaluebuf,

char

* key,

char

* value,

char

* valuebuflen)

int ret =0;

char

* p =

null;

p =strstr

(keyvaluebuf, key);if

(p ==

null

) p = p +

strlen

(key);

p =strstr

(p,"=");

if(p ==

null

) p = p +

strlen

("=");

ret =

trimspace

(p, value)

;//printf("%s\n", value);

if(ret !=0)

*valuebuflen =

strlen

(value)

;return0;

}int

main()

;int len =0;

int ret =0;

ret =

getkeybyvalue

(p4, key,

&value,

&len);if

(ret !=0)

printf

("val:%s, len:%d\n"

, value, len)

;printf

("\n");

system

("pause");

return0;

}

NSDictionary 鍵值對查詢

nsdictionary dic1 nsdictionarydictionarywithobjectsandkeys 1 a 2 b 3 c 2 d nil nslog zi dic1 count 結果 4 nslog dic1 valueforkey b 根據鍵取得值,結果 2 nslog dic...

C獲取鍵值匹配資訊

define crt secure no warnings include include include 鍵值對 key value 字串,在開發中經常使用 鍵值對中間可能有n多空格,請去除空格 鍵值對字串格式可能如下 key1 value1 key2 value2 key3 value3 key...

C 鍵值對 KeyValue 解析

最近看到乙個輸入字串或者位元組陣列解析成鍵值對的 可能對大家有用,簡單的寫了一下。當然,你可以用json.net去處理json型別的鍵值對,網上很多資料,就不多說,這裡主要說是類似於自定資料格式,類似這樣的字串 string data sdada 57.4,aaasd 1234,fdafdsa 3....