用c 寫的乙個詞典工具

2021-09-06 04:13:04 字數 3100 閱讀 3093

使用的qt圖形介面,用libcurl獲取的網頁,在之中遇見了很多問題,一直想用c++類封裝一下libcurl,發現c++很不到家啊。索性用了友元函式。

先貼上**吧

main.cpp 

#include 

<

stdio.h

>

#include 

<

stdlib.h

>

#include 

<

unistd.h

>

#include 

<

curl

/curl.h

>

#include 

<

curl

/types.h

>

#include 

<

curl

/easy.h

>

#include 

<

qtgui

/>

#define

mydebug 0

using

namespace

std;

#include 

"dict.h

"file 

*fp; 

//定義file型別指標

size_t write_data(

void

*ptr, size_t size, size_t nmemb, 

void

*stream)

intgetpage(qstring aurl)

curl_easy_setopt(curl, curlopt_writefunction, write_data);

curl_easy_perform(curl);

curl_easy_cleanup(curl);

return0;

}int

main(

intargc, 

char

*return

a.exec();}

dict.h

#ifndef dict_h

#define

dict_h

#include 

<

qtgui

>

#include 

"translate.h

"#include 

"one.h

"class

qpushbutton;

class

qlineedit;

class

qtextedit;

class

dialog : 

public

qdialog

;#endif

//dict_h

dict.cpp

1#include 

<

qtgui

/qhboxlayout

>

2#include 

<

qtgui

/qvboxlayout

>

3#include 

"dict.h"4

#include 

<

qmessagebox

>56

extern

intgetpage(qstring aurl);78

910dialog::dialog(qwidget 

*parent)

11: qdialog(parent)

1244

4546

47qstring dialog::getresult()

4866}67

//line++;68}

6970

fgets(buffer,

2000

,fp);

7172

while

(buffer[counti]!='

\n'&&counti 

<

2000)73

78else

if(buffer[counti] =='

>')

7982

else

if(buffer[counti] !='

>'&&

buffer[counti] !='

token ==1

)8387counti ++;

88}8990

final[finalcount] ='

\0';91

92//

qmessagebox msgbox;

93//

msgbox.settext(final);

94//

msgbox.exec();

9596

//97

qstring 

string

=qstring(qlatin1string(final));

98//

qtextcodec::setcodecforcstrings(qtextcodec::codecforname("gb2312"));

99qtextcodec::setcodecforcstrings(qtextcodec::codecforname(

"utf-8

"));

100return

string

;101

}102

103104

void

dialog::clearitem()

105108

109void

dialog::searchitem()

110124

}125

126127

dialog::

~dialog()

128

還有乙個問題就是亂碼的問題。

因為是提取的網頁,只能乙個char乙個char那樣提取,現在還是沒有想到什麼其他辦法提取。之後在char 轉 qstring 的時候,總是亂碼。

哪位博友知道怎麼解決的話,請給點線索。

用c 寫的乙個詞典工具

使用的qt圖形介面,用libcurl獲取的網頁,在之中遇見了很多問題,一直想用c 類封裝一下libcurl,發現c 很不到家啊。索性用了友元函式。先貼上 吧 main.cpp using namespace std include dict.h file fp 定義file型別指標 size t w...

給乙個詞典,找出其中所有最長的單詞。

描述 給乙個詞典,找出其中所有最長的單詞。您在真實的面試中是否遇到過這個題?樣例 在詞典 中,最長的單詞集合為 internationalization 在詞典 中,最長的單詞集合為 like love hate 挑戰 遍歷兩次的辦法很容易想到,如果只遍歷一次你有沒有什麼好辦法?只需要遍歷一次 pu...

用乙個詞 TASPK 牢記C程式記憶體布局

乙個典型的c程式記憶體布局,從低位址到高位址分別為 1.text 正文段,即 段 code segment 2.data 已經初始化的資料段 3.bss 未被初始化的資料段 block started by symbol 4.heap 堆 5.stack 棧 注1 上圖中的code segement...