C urldecode函式編寫

2021-09-08 03:17:25 字數 1339 閱讀 4623

一面的時候,面試官叫在紙上寫這個函式,用紙寫真心疼,原理其實很簡單的。

例如:%20其實就是對應的ascii 32的字元(空格)吧。

面試的時候我只寫了一半出來,太耗時了,現在回來用電腦寫了下。

這種解析字串的函式,我們都可以畫乙個狀態轉換的圖,就是編譯原理裡面的那個圖。

由於這個函式比較簡單,我就只畫乙個流程圖就可以了。

圖是在ubuntu下用libreoffice套件中的draw畫的,真心疼,太不方便了。用dia也不方便。還是visio好。

流程圖有了,接下來就是函式**段了。

1/*2

* main.c3*

4* created on: 2012-4-23

5* author: huangjacky6*/

78 #include 9 #include

10 #include 11

12#define null null;

1314

int hexchar2int(char

);15

16/**17

* 對src進行url解碼

18*param src char* urlencode後的字串形式

19*return null: 字串src的形式不對,否則 解析成功後的字串

20*/

21char* urldecode(char *src)

42 *dst1++ =(char)( (len << 4) + count);//

儲存到目的字串

43 }else

47 src++;48}

49if (!flag)

53 *dst1 = 0;//

字串的末尾加上\0

54return

dst;55}

56/**57

*將hex字元轉換成對應的整數

58*return 0~15:轉換成功,-1:表示c 不是 hexchar

59*/

60int hexchar2int(char

c)70

71int

main()

79 printf("

now s is : %s

",s);

80return0;

81 }

當然真正的url解碼的函式不只是解析這個%xx的,我只是簡單的寫乙個解析%xx的函式而已。

我是huangjacky,技術交流為主。

C urldecode函式編寫

一面的時候,面試官叫在紙上寫這個函式,用紙寫真心疼,原理其實很簡單的。例如 20其實就是對應的ascii 32的字元 空格 吧。面試的時候我只寫了一半出來,太耗時了,現在回來用電腦寫了下。這種解析字串的函式,我們都可以畫乙個狀態轉換的圖,就是編譯原理裡面的那個圖。由於這個函式比較簡單,我就只畫乙個流...

編寫strcpy 函式

已知 strcpy 函式的原型是 char strcpy char strdest,const char strsrc 其中 strdest 是目的字串,strsrc 是源字串。1 不呼叫c c 的字串庫函式,請編寫函式 strcpy char strcpy char strdest,const c...

oracle函式編寫

語法格式 sql語法方式建立的語法格式為 orreplace function function name 函式名稱 引數定義部分 return return datatype 定義返回值型別 as begin function body 函式體部分 return scalar expression...