趣味程式設計 從字串中提取資訊(C語言版本)

2022-01-30 22:23:34 字數 3139 閱讀 5508

大概就是如下乙個字串

cpu-3.0g--color-red-green-black--price-5000-8000--weight-'3-'--keywords-'levi''s'

要拆分成如下格式,,

,,, 原題目要求位址如下

老趙的c#語言版本如下 

最近學c語言, 我翻譯成c語言的了,在dev-c++4.9.9.2編譯執行通過,**如下

**#include 

<

stdio.h

>

#include 

<

stdlib.h

>

#define

max_token_len  20

const

e_arg_invalid =-

1; /*錯誤的引數

*/const

e_token_overfllow =-

2;/*陣列溢位 

*/const

s_ok =0

;int

last_error =0

;void

*p1(

char

ch);

void

*p2(

char

ch);

void

*p3(

char

ch);

void

*p4(

char

ch);

void

*p5(

char

ch);

typedef 

void*(

*fn_parse)(

char

c);void

aggregate(fn_parse parse, 

const

char

*input)

else}}

struct

token;

struct

token

*current_token;

void

struct

token

*t, 

char

ch)t 

->

inner_token[ t 

->

index ] 

=ch;

}void

reset()

void

dispose(

struct

token*t)

struct

token_group;

void

struct

token_group

*g, 

struct

token*t)

tt =

g ->

tokens[0];

g ->

tokens[g 

->

index] =t;

}            

struct

token_group

*current_group;

void

reset2()

void

dispose2(

struct

token_group

*group)

struct

parse_result;

void

struct

parse_result

*ret,

struct

token_group*g)

ret 

->

groups[ret 

->

index] =g;

}            

struct

parse_result

*result;

void

reset3()

void

dispose3()

void

*p1(

char

ch)if

(ch =='

\'')else

return

p4;}

}void

*p2(

char

ch)else

if(ch =='

\'')else

return

p4;}

}void

*p3(

char

ch)else

if(ch =='

-'return

p2;}

else

}void

*p4(

char

ch)if

(ch =='

-'return

p2;}

else

return

p4;}

}void

*p5(

char

ch)else

return

p5;}

}void

test_parse()      

}for

(i =

0; i 

<=

result 

->

index; i++)

dispose2(group);

}dispose3(result);

}int

main(

void

)執行結果如下:

group:0

token:0-cpu

token:1-3.0g

group:1

token:0-color

token:1-red

token:2-green

token:3-black

group:2

token:0-price

token:1-5000

token:2-8000

group:3

token:0-weight

token:1-3-

group:4

token:0-keywords

token:1-levi's 

不好意思,剛發首頁了,本來是想發預選區的,半夜想起來了,趕緊撤下來。

趣味程式設計 從字串中提取資訊

字串解析是程式設計師工作中非常重要的一部分,也是非常考驗程式設計能力的工作。基本上我在面試程式設計師的時候,一定會出一道程式設計題目作為考察的一方面,而這道題目有很大的可能性是做字串的解析。例如,給出乙個模式規則,要求寫程式判斷某個字串是否符合特定格式。例如,要求將bb code轉化為html。而現...

從字串中提取數字

下面程式將字串中的連續數字提取出來,並存放到一維陣列中。比如說乙個字串 a284twx234 je3432 把 284 234 3432 這3個連續數字提取出來,分別存放到a 0 a 1 a 2 中。include include include int main buf i 0 sscanf bu...

從字串中提取整數

首先說一下我要做的事情 從乙個txt檔案中 存著乙個矩陣 從這個檔案中提取出這個檔案中的整數。矩陣 1 2 3 4 5 6 7 8 0 1 8 7 3 8 2 9 之前用的函式是fgets char fgets char s,int n,file stream 引數 s 字元型指標,指向儲存讀入資料...