使用的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...