Sort(int a[],int left,int right)
{
?? int value,l,r,temp;
? ?l=left;
? ?r=right;
? ?value = a[(left+right)/2];
?? while(l<r)
? ?{
????? while(a[l]<value)
????? ?l++;
???? ?while(a[r]>value)
????? ?r--;
??? ??if(l>=r)
??????? ?break;
????? temp = a[l];
???? ?a[l] = a[r];
????? a[r] = temp;
???? ?l++;
???? ?r--;
?? }
?? if(l==r)
??? ??l++;
? ?if(left<r)
????? Sort(a,left,l-1);
?? if(l<right)
???? ?Sort(a,r+1,right);
}
posted @
2007-03-06 12:14 喬棟 閱讀(195) |
評論 (0) |
編輯 收藏
1.實現一個字符串拷貝函數strcpy(char * a, char * b),b拷貝到a,用C語言實現,要求以性能為首要,請在程序中寫上注釋。
2.一個類拷貝的函數,要求用C寫
例如:
class A {
int a;
public:
int b;
};
class B {
……
……
};
int main() {
A aa, bb;
B c, d;
a.a = 10; a.b = 20;
copyclass(???);// 將aa拷貝到bb
….
copyclass(???);// 將c拷貝到d
return 0;
}
3在一個項目中,你被分配到一個小任務:在一個字符串str中包含字符串str_a,找出所有在字符串str中的str_a,要求你架構這個功能塊并且給出使用說明,代碼運行健壯并且性能為首要。
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1、while(*a++=*b++);
2、memcpy(&bb, &aa, sizeof(A));
memcpy(&d, &c, sizeof(B));
3、BOOL FindString(const char *src, const char *str_a)
{
?? char *pStart=(char *)src;
?? if(NULL==pStart || NULL==str_a) return FALSE;
?? char *pCursor=pStart;
?? while(pCursor=strstr(pCursor, str_a))
? {
???? printf("find (%s) at position %ld\r\n"), str_a, pCursor-pStart);??
? }
? return TRUE;?
}
posted @
2007-03-05 17:13 喬棟 閱讀(270) |
評論 (0) |
編輯 收藏
code:
typedef struct
{
?SOCKET sock;
?LPVOID ptr;
}PARAMRECV;
error msg:c:\documents and settings\tony\桌面\mysocket\tcpserver_ft.h(44) : error C2146: syntax error : missing ';' before identifier 'sock'
這個信息其實很典型,說明SOCKET 沒有被定義,所以理所當然的應該查詢SOCKET 的來源,F12發現它包換于#include "winsock.h" 之中,添加以后解決問題。
思考:
這個問題其實并不復雜,需要注意的地方有兩點:
1:遇到出錯信息要冷靜的分析,不要害怕,不要心煩。
2:增強DEBUG技術,不單單只是調試器上的功夫,還需要認真地思考。
posted @
2007-01-30 10:44 喬棟 閱讀(321) |
評論 (0) |
編輯 收藏
一個link 2019的錯誤,一直沒有解決思路,最后解決掉,把思路記錄下
error msg:
UpDlgView.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall CMarkup::~CMarkup(void)" (
__imp_??1CMarkup@@QAE@XZ) referenced in function "public: void __thiscall CUpDlgView::OnButtonadd(void)" (
?OnButtonadd@CUpDlgView@@QAEXXZ)
UpDlgView.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __thiscall CMarkup::AddElem(char const *,char const *,int)" (
__imp_?AddElem@CMarkup@@QAE_NPBD0H@Z) referenced in function "public: void __thiscall CUpDlgView::OnButtonadd(void)" (
?OnButtonadd@CUpDlgView@@QAEXXZ)
UpDlgView.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall CMarkup::CMarkup(void)" (
__imp_??0CMarkup@@QAE@XZ) referenced in function "public: void __thiscall CUpDlgView::OnButtonadd(void)" (
?OnButtonadd@CUpDlgView@@QAEXXZ)
分析:
錯誤的類別是:unresolved external symbol ,是一個沒有解決的外部變量,因為一直認為第三方類不可能有錯誤所以一直在自己編寫的代碼中尋找錯誤,其實錯誤的關鍵在這里:"__declspec(dllimport)" 這說明這是一個外部導出類,所以需要?將class? AFX_EXT_CLASS CMarkup?改為 class CMarkUp .
posted @
2007-01-30 10:37 喬棟 閱讀(602) |
評論 (0) |
編輯 收藏
1.表頭控制?????????Header?Control??
????2.圖像列表控制?????Image?List
????3.列表控制和視?????List?Control&List?View
????4.樹控制和視???????Tree?Control&Tree?View
????5.標簽控制和視?????Tab?Control&Tab?View
????6.工具條控制???????Toolbar?Control
????7.進度條控制???????Progress?Control
????8.滑動條控制??????Slider?Control
????9.旋轉按鈕控制????Spin?Button?Control
????10.狀態條控制??????Status?Bar?Control
http://blog.csdn.net/wangjiwei2010/archive/2006/11/24/1412714.aspx
posted @
2007-01-22 17:44 喬棟 閱讀(283) |
評論 (0) |
編輯 收藏
? 同步/異步: ?
? ?
? 你去飯店吃飯,對服務員說:“來兩碗牛肉蓋飯”,然后就繼續和lp聊天了,過了一會服務員把牛肉蓋飯給你端了過來,這叫異步,你發了請求后繼續做其他事情去了,服務員完成你的請求后告訴你蓋飯好了 ?
? ?
? 你去飯店吃飯,對服務員說:“來兩碗拉面”,服務員告訴你:“拉面得自己排隊去端”,你只好讓lp占著座位自己去排隊,這叫同步,你發了請求后必須等著師傅把面給你,不能離開,否則飯別人就拿走了
長/短連接: ?
? ?
? 你在和mm在打電話,但mm還在做飯,然后mm對你說:“我現在洗個碗,過兩分鐘打給我”,又聊了一會兒,mm又說:“過3分鐘打給我”,.....這是短連接,完成一件事情后離開斷開,新的傳輸就建立新的連接 ?
? ?
? 你受不了這么頻繁的撥號,你說:“我不掛機....”,這是長連接,不管有沒有數據要傳輸,連接都要保持著
posted @
2007-01-16 09:34 喬棟 閱讀(1747) |
評論 (2) |
編輯 收藏
CString->std::string 例子:
CString strMfc=“test“;
std::string strStl;
strStl=strMfc.GetBuffer(0);
std::string->CString??例子:
CString strMfc;
std::string strStl=“test“;
strMfc=strStl.c_str();
posted @
2007-01-15 17:24 喬棟 閱讀(584) |
評論 (0) |
編輯 收藏
??????? 今天在使用池工給的一個配置設置文件類的時候總是報錯,錯誤很奇怪,解決后很以外的發現,問題竟然在命名空間上.再次復習一下相關內容.
? #include ? "stdafx.h" ?
? #include ? <iostream> ?
? using ? namespace ? std; ?
? ?
? namespace ? A ?
? { ?
? void ? f(){cout<<"In ? A::f() ? function"<<endl;} ?
? } ?
? namespace ? B ?
? { ?
? void ? f(){cout<<"In ? B::f() ? function"<<endl;} ?
? } ?
? ?
? ?
? ?
? int ? main(int ? argc, ? char* ? argv[]) ?
? { ?
? { ?
? using ? namespace ? A; ?
? f(); ?
? } ?
? { ?
? using ? namespace ? B; ?
? f(); ?
? } ?
? return ? 0; ?
? }??
? 結果是: ?
? In ? A::f() ? function ?
? In ? B::f() ? function
posted @
2007-01-04 16:20 喬棟 閱讀(227) |
評論 (0) |
編輯 收藏
看一個仁兄的博客,不但人非常感性,技術上的細節也很細膩,我喜歡,所以收藏了他的博.
以下是
Aladdin的文章:
?----- Atomic(原子性):只整個數據庫事務是不可分割的工作單元。只有事務中所有的操作執行成功,才算整個事務成功;事務中任何一個SQL語句執行失敗,那么已經執行成功的SQL語句也必須撤銷,數據庫狀態應該退回到執行事務前的狀態。通過上面的例子我們已經看得很清楚了。
?? ----- Consistency(一致性):指數據庫事務不能破壞關系數據的完整性以及業務邏輯上的一致性。例如,不管上面的例子里面QQ幣轉賬的事務成功還是失敗,都應該保證事務結束后qq_account表中bill和tom的QQ幣總額為1000點。
?----- Isolation(隔離性):指的是在并發的環境之中,當不同的事務同時操作相同的數據時,每個事務都有各自的完整數據空間,這里涉及的事情就多了,我想在后面單獨總結成一篇文章。
? ----- Durability(持久性):指的是只有事務成功結束,它對數據庫所做的更新就必須永久保存下來。即使發生系統崩潰,重新啟動數據庫后,數據庫還能恢復到事務成功結束時的狀態。達到這樣的結果需要以下的方法:
?----- ?BEGIN 事務的開始邊界
?-----? COMMIT 事務的正常結束邊界,提交事務,永久保存被事務更新后的數據庫狀態。
?-----? ROLLBACK 事務的異常結束邊界,撤銷事務,使數據退回到執行事務前的初始狀態。
我現在給自己一個任務,明天早上給自己一個答案,問題就是:流程中在什么時候是
BEGIN ,COMMIT ,ROLLBACK 的狀態.
posted @
2006-12-28 17:17 喬棟 閱讀(212) |
評論 (0) |
編輯 收藏
[windows]
load=
run=
NullPort=None
[Desktop]
WallpaperStyle=2
Pattern=(無)
[intl]
s2359=PM
iCountry=86
……
配置文件把信息分成若干"節",節標題放在方括號中,如[Desktop]就是Desktop節,在一個節內包含了一些與之相關相近的"項",并通過等號對其進行賦值。
其中VALUE值可以有兩種類型:數值型和字符串型,而且Windows操作系統專門為此提供了6個API函數來對配置設置文件進行讀、寫:
GetPrivateProfileInt() 從私有初始化文件獲取整型數值
GetPrivateProfileString() 從私有初始化文件獲取字符串型值
GetProfileInt 從win.ini 獲取整數值
GetProfileString 從win.ini 獲取字符串值
WritePrivateProfileString 寫字符串到私有初始化文件
WriteProfileString 寫字符串到win.ini
在這里需要指出:當向配置文件存儲信息時,不論是數據還是字符串都要先轉換成字符串,然后再行存儲。
posted @
2006-12-28 14:38 喬棟 閱讀(1519) |
評論 (0) |
編輯 收藏