• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 11,  comments - 12,  trackbacks - 0

            以下基于ASCII碼,如果換做Unicode則應(yīng)該做相應(yīng)的變動,否則回出現(xiàn)過程錯誤。
            string
             轉(zhuǎn) CString 
            CString.format("%s", string.c_str()); 

            char 轉(zhuǎn) CString 
            CString.format("%s", char*); 

            char 轉(zhuǎn) string 
            string s(char *); 

            string 轉(zhuǎn) char * 
            char *p = string.c_str(); 

            CString 轉(zhuǎn) string 
            string CStringTostring(CString str)
            {
                  string s;

                 s.append(str.GetBuffer(str.GetLength()));

                 str.ReleaseBuffer();

                 return s;

            }

            1,string -> CString 
            CString.format("%s", string.c_str()); 
            用c_str()確實比data()要好. 
            2,char -> string 
            string s(char *); 
            你的只能初始化,在不是初始化的地方最好還是用assign(). 


            C++標準函數(shù)庫》中說的 
            有三個函數(shù)可以將字符串的內(nèi)容轉(zhuǎn)換為字符數(shù)組和C—string 
            1.data(),返回沒有”{post.content}“的字符串數(shù)組 
            2,c_str(),返回有”{post.content}“的字符串數(shù)組 
            3,copy() 

            --------------------------------------------------------------- 

            CString與int、char*、char[100]之間的轉(zhuǎn)換- - 


            CString與int、char*、char[100]之間的轉(zhuǎn)換- - 



            CString互轉(zhuǎn)int 

            將字符轉(zhuǎn)換為整數(shù),可以使用atoi、_atoi64或atol。 
            而將數(shù)字轉(zhuǎn)換為CString變量,可以使用CString的Format函數(shù)。如 
            CString s; 
            int i = 64; 
            s.Format("%d", i) 
            Format函數(shù)的功能很強,值得你研究一下。 

            void CStrDlg::OnButton1() 

            // TODO: Add your control notification handler code here 
            CString 
            ss="1212.12"; 
            int temp=atoi(ss); 
            CString aa; 
            aa.Format("%d",temp); 
            AfxMessageBox("var is " + aa); 


            sart.Format("%s",buf); 

            CString互轉(zhuǎn)char* 

            ///char * TO cstring 
            CString strtest; 
            char * charpoint; 
            charpoint="give string a value"; 
            strtest=charpoint; 


            ///cstring TO char * 
            charpoint=strtest.GetBuffer(strtest.GetLength()); 
            此處如果為Unicode編碼,則應(yīng)將char*改為wchar*,否則讀取的只有strtest的首字母,切忌最后的strtest.ReleaseBuffer()。
            標準C里沒有string,char *==char []==string 

            可以用CString.Format("%s",char *)這個方法來將char *轉(zhuǎn)成CString。要把CString轉(zhuǎn)成char *,用操作符(LPCSTR)CString就可以了。 


            CString轉(zhuǎn)換 char[100] 

            char a[100]; 
            CString str("aaaaaa"); 
            strncpy(a,(LPCTSTR)str,sizeof(a));

            posted @ 2010-03-03 10:48 人生在于攀登! 閱讀(420) | 評論 (0)編輯 收藏
            1.類和函數(shù)的申明必須加上AFX_EXT_CLASS宏
            AFX_EXT_CLASS宏的msdn解釋:

            Extension DLLs use the macro AFX_EXT_CLASS to export classes; the executables that link to the extension DLL use the macro to import classes. With the AFX_EXT_CLASS macro, the same header file(s) used to build the extension DLL can be used with the executables that link to the DLL.

            類示例:
            1class AFX_EXT_CLASS CMyClass : public CDocument
            2{
            3// <body of class>
            4}
            ;
            5
            6
            函數(shù)示例:
            extern "C" AFX_EXT_CLASS Min(intint); //導出函數(shù)

            2.在類的頭文件中定義你dll中的資源值
            示例:
            1#define IDR_MYMENU 9002  //菜單資源
            2#define ID_MYTEST 9003   //菜單下拉按鈕資源
             
            3.類cpp文件編寫正確后編譯源程序
            編譯結(jié)束后,在資源頭文件中會有你在類頭文件中定義的資源項,但是資源的值往往和你在類頭文件中定義的值不相同,你必須手工改過來

            4.使用MFCDLL
            (1).講生成號的.dll和.lib文件拷貝到你工程文件夾下,并且將你的類頭文件也拷貝到工程文件夾下,在你需要創(chuàng)建類對象的文件前包含頭文件
            (2).把.lib文件添加到你的工程資源中
            (3).加載dll資源
            示例:
            1//MFC擴展dll中資源的加載  記得在編譯值錢需要在工程中導入相應(yīng)的lib文件,還有在工程文件夾中賦值dll中類的頭文件
            2    HINSTANCE hdll = LoadLibrary("MFCEXTDLL.dll");  //加載dll文件
            3    if (hdll != NULL)  //判斷是否加載成功
            4    {
            5        HMENU hmen = LoadMenu(hdll, MAKEINTRESOURCE(IDR_MYMENU));  //從一個可執(zhí)行文件中加載菜單資源
            6        ::SetMenu(this->GetSafeHwnd(), hmen);   //給窗口分配一個新的菜單
            7        ::DrawMenuBar(this->GetSafeHwnd());   //重新繪畫菜單
            8        FreeLibrary(hdll);  //釋放dll模塊實例
            9    }
            (4).添加你dll資源中的消息響應(yīng)函數(shù)
            afx_msg void OnTestTestDLL();//函數(shù)申明
            ON_COMMAND(ID_MYTEST, OnTestTestDLL)   //消息映射
            //函數(shù)實現(xiàn)
            void CUSEMFCDLLDlg::OnTestTestDLL()
            {
            /*
               Funcation body
            */

            }
            posted @ 2009-09-01 16:53 人生在于攀登! 閱讀(183) | 評論 (0)編輯 收藏
            CreateThread
            參數(shù)信息:lpThreadAttributes 安全屬性結(jié)構(gòu)體指針
            dwStackSize 分配給新線程的堆大小
            lpStartAddress 只想新線程的入口函數(shù) 格式如下:
            線程函數(shù)入口
            補充注意:入口函數(shù)不一定必須是上述格式(上述格式是msdn中提及的標準格式)
            可以自定義函數(shù),但是創(chuàng)建線程時必須函數(shù)類型轉(zhuǎn)換,示例如下:
            1void fun(int &n)
            2{
            3    cout<<"sdf"<<endl;
            4    cout<<n<<endl;
            5}

            6int n=10;
            7HANDLE hThread3;
            8    hThread3=CreateThread(NULL,0,(unsigned long (__stdcall *)(void *))fun,&n,0,NULL);

            lpParameter 線程函數(shù)的參數(shù)
            dwCreationFlags 創(chuàng)建標志(0 or CREATE_SUSPENDED)
            lpThreadId 新線程ID的接收變量
            返回:成功返回句柄對象(HANDLE對象) 否則返回NULL GetLastError()返回錯誤信息
            實例:
            hThread1=CreateThread(NULL,0,ThreadFun1,NULL,0,NULL);
            DWORD WINAPI ThreadFun1(
              LPVOID lpParameter   
            )
            {
                cout
            <<"df"<<endl;
                
            return 0;
            }


            1BOOL CloseHandle(
            2  HANDLE hObject   // handle to object to close
            3);
            4
            關(guān)閉HANDLE句柄

            CreateMutex
            參數(shù)信息:lpMutexAttributes 安全屬性結(jié)構(gòu)體指針 NULL是為默認的安全描敘符
            bInitialOwner 為真時調(diào)用線程創(chuàng)建互斥對象,調(diào)用線程擁有互斥對象 為假時調(diào)用線程不擁有互斥對象
            lpName 互斥對象的名稱

            WaitForSingleObject
            參數(shù)信息:hHandle Mutex對象(臨界區(qū))
            dwMiliseconds 時間間隔(毫秒),超過時間間隔函數(shù)就返回 為0時馬上返回 為INFINITE時用不返回
            返回:失敗返回WAIT_FAILED 否則返回一個引發(fā)這個函數(shù)的事件



            ReleaseMutex
            返回:成功返回非零數(shù) 否則返回0



            posted @ 2009-08-30 14:18 人生在于攀登! 閱讀(244) | 評論 (0)編輯 收藏
            自創(chuàng)源代碼如下: 
            string pstr=pName+"-"+pID; 
            fwrite(pstr.c_str(),
            sizeof(pstr),1,file); 
            若pstr="12-34"
            結(jié)果不是理想中那樣,打開文本后看到的是:12-34 屯屯屯屯 請問哪位大哥有更好是寫入方法,可以指教我就非常感謝了!
            posted @ 2009-08-07 14:29 人生在于攀登! 閱讀(1150) | 評論 (3)編輯 收藏
                 摘要:   閱讀全文
            posted @ 2009-08-07 14:24 人生在于攀登! 閱讀(2930) | 評論 (3)編輯 收藏
            C語言編程練習題目: A出版社、B出版社是圖書出版發(fā)行領(lǐng)域的巨頭,A出版社出版的書籍種類涉及科技、外文、社科、衛(wèi)生、生活、體育等方面;B 出版社出版的書籍種類涉及科技、社科、衛(wèi)生、生活、體育、教育等方面。 C 書店、D書店、E 書店是 3 家著名的圖書銷售商,C 書店以銷售科技類書圖書聞名,同時也銷售外文、教育類書籍;D書店以銷售外文書籍店聞名,同時兼營科技、社科、教育類書籍;E 書店為銷售圖書種類最完全而著名,書籍種類包括科技、外文、社科、衛(wèi)生、生活、體育、教育等方面。 F、G是兩個典型的圖書購買者(圖書用戶),定期或不定期的去 E 書店買書;其中 F 是一個個人用戶,對科技、體育、生活類圖書非常感興趣,對這 3 類圖書是逢書必買;G是一個單位用戶,它對所有類的圖書都感興趣。 實體 A、B、C、D、E、F、G工作過程參見附一。 各個實體的初始化描述參見附二 題目要求: 請在Window下的VC6.0環(huán)境下,使用Win32 Console Application方式并采用多線程編程方式來模擬實體 A、B、C、D、E 之間的工作過程。 具體要求: 1.出版社、書店、圖書用戶作為獨立的單位,各自內(nèi)部信息相互保密,一般不隨意暴露: 2.出版社給書店提供以下接口: 注冊接口: 供書店用戶登陸注冊自己的信息,便于發(fā)定購通知; 參數(shù)信息: 書店 ID、 書店經(jīng)營圖書的種類、 通知的 Callback 函數(shù) 等等 查詢接口: 供書店用戶定購前查詢; 參數(shù)信息: 圖書種類 查詢種類(全部、新書、再版) 查詢結(jié)果返回 等等 定購接口: 供書店來定購書籍; 參數(shù)信息: 書店 ID 圖書名 購買數(shù)量 聯(lián)絡(luò)方式的 Callback(上次不足圖書的再版通知) 等等 3.書店(特別是 E 書店)給圖書購買者提供以下接口:查詢接口: 供圖書購買者購買前進行查詢; 參數(shù)信息: 圖書種類查詢種類(全部、新書、再版) 查詢結(jié)果返回 等等 購買接口: 供圖書購買者進行購買; 參數(shù)信息: 購買者ID 圖書名稱 購買數(shù)量 聯(lián)絡(luò)方式的Callback(上次不足圖書的到貨通知) 等等 4.在主線程中,控制各個實體的初始化、上述模擬活動的開始和停止; 5.出版社、書店、圖書購買的工作活動按照時間順序輸出到文件work.txt中; 6.為了驗證程序執(zhí)行的正確性,各個實體(A、B、C、D、E、F、G)都應(yīng)記載數(shù)據(jù), 出版社應(yīng)記錄: 出版(再版)書目、 庫存量、銷售量、銷售明細(每次銷售給那個書店多少冊)、定購書目數(shù)量以及明細(每次向誰定購了什么書、多少本)、銷售書目數(shù)量以及明細 圖書購買者:記錄購買書目數(shù)量以及明細。以上信息每隔30秒輸出一次,以便于核對程序執(zhí)行的正確性。 7.程序要考慮使用良好的程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)、程序講求效率。 附一A、B、C、D、E的工作描述 一、關(guān)于出版社工作 1.1出版 出版類型: 出版圖書類型:新書、再版(主要是由于銷售好而再版); 出版數(shù)量:新書出版的數(shù)量 A、B出版社:每隔10秒出版一種新圖書,每次1000冊,即 A出版圖書的順序為:科技(1000)->外文(1000)->社科(1000)->衛(wèi)生(1000)->生活(1000)->體育(1000)->科技(1000); B出版圖書的順序為:科技(1000)->社科(1000)->衛(wèi)生(1000)->生活(1000)->體育(1000)->教育(1000)->科技(1000) 再版圖書的數(shù)量以及再版 當出現(xiàn)缺貨時進行再版,每個書再版的數(shù)量為 (1)再版500冊(當缺貨數(shù)量<=500冊時); (2)大于缺貨數(shù)量并為1000的整數(shù)倍(當缺貨數(shù)量>500冊時); 再版請求要進行管理,每次再版不花時間。 出版書目相關(guān)信息 書目信息包括:編號、書名、種類、出版社等。 1.2發(fā)行(銷售) 具體工作包括: 發(fā)行通知: 出版新書,向所有訂閱此分類的書店通知, 再版,只通知訂購此種圖書但因缺貨沒買到書的書店。接受書店定購:如有貨,則發(fā)貨 否則,存貨部分進行銷售(同步完成),剩余部分轉(zhuǎn)再版處理(異步完成); 并且定購接口中,要有書店的信息,以便于再版后的通知(對上次購買不足的書店)。 1.3提供書目查詢服務(wù)提供向書店提供書目查詢服務(wù),查詢分類查書目、庫存等。 提供查詢希望能夠講求效率。 二、關(guān)于書店工作 2.1定購工作 定購分類兩類:一類是主動定購、另一類是被動定購; 被動定購:接到書店定購通知后去定購; 主動定購:當前書店銷售庫存為0,而發(fā)生的定購; 每次定購不限于一種圖書。 定購前,應(yīng)該進行相關(guān)書目信息的查詢。 E書店接到新書通知后每次訂購200冊 如果書店定購的圖書,出版社貨不足,則庫存有多少購買多少,不足部分等到圖書再版后通知再購買。(例如要購買500本,而庫存只有300本,則先購300本,剩下200本等到再版后再購買) 三、關(guān)于圖書購買者 G是一個單位用戶,對科技、外文、社科、衛(wèi)生、生活、體育、教育類圖書都感興趣,不定期從E書店購買新書,每次購買的數(shù)量是一個隨機數(shù)(小于500); 這里的不定期可以認為G每隔幾秒(小于8的隨機數(shù))到E書店查詢一次,看看是否有新書,如果有新書則一定購買新書,否則隨機購買一種原有的書,如果貨物不足,則庫存有多少購買多少,不足部分等到書店通知到貨后再購買。(例如要購買50本,而庫存只有30本,則先購30本,剩下20本等到書店到貨后再購買) 附二 系統(tǒng)的初始化描述 A出版社、B出版社、 C書店、 D書店、 E書店、F圖書購買者、G圖書購買者初始的數(shù)據(jù)都為空。 活動開始的順序為: 1. A、B出版社開始出書 2. 出版后,出版社通知注冊的書店(C、D、E),來定購; 3. 書店定購后,開始圖書銷售; 4. 圖書購買者(G)定期到書店買書; 練習要求:先模擬出版社A,書商E,圖書購買者G的交易過程,其余待完善
            posted @ 2009-08-03 17:10 人生在于攀登! 閱讀(270) | 評論 (2)編輯 收藏
                 摘要: 主要源代碼: void CSpellGraphicDlg::OnUp() { // TODO: Add your control notification handler code here if (p.currentPoint/3==0) { &...  閱讀全文
            posted @ 2009-08-03 15:37 人生在于攀登! 閱讀(205) | 評論 (0)編輯 收藏

             

            int getNum(int a,int b,int c,int d,int e){
             
            static long int num=0;
             
            static int startPointA=a,startPiontB=b;

             
            if (startPointA==&& startPiontB==&& num!=0)
             
            {
              
            return 0;
             }


             
            if ((b+d)%e==(a+c)%e)
             
            {
              
            return num+1;
             }

             
            else{
              num
            ++;
              
            return getNum((a+c)%e,(b+d)%e,c,d,e);
             }

             
            return 0;
            }


            int main(){
            int startPointA,startPointB,longA,longB,totalLong;
             printf(
            "請依次輸入青蛙A的起始點、青蛙B的起始點、青蛙A依次跳躍距離、青蛙B依次跳躍距離和總長度:");
             scanf(
            "%d %d %d %d %d",&startPointA,&startPointB,&longA,&longB,&totalLong);
             
             
            while (startPointA==startPointB)
             
            {
              printf(
            "你輸入數(shù)據(jù)有誤,請重新輸入:");
              scanf(
            "%d %d %d %d %d",&startPointA,&startPointB,&longA,&longB,&totalLong);
             }


             
             
            int num=getNum(startPointA,startPointB,longA,longB,totalLong);

             
            if (longA==longB || num==0)
             
            {
              printf(
            "Impossible\n");
             }

             
            else
             
            {
              printf(
            "%d\n",num);
             }


             
            return 0;
            }

            posted @ 2009-08-03 11:31 人生在于攀登! 閱讀(482) | 評論 (0)編輯 收藏

            void find1(char array[3],char search,char** pa){
             int i;
             for (i=0;*(array+i)!='\0';i++)
             {
              if (*(array+i)==search)
              {
               *pa=array+i;
               break;
              }
              else if (*(array+i)==0)
              {
               pa=0;
               break;
              }
             }
            }

            int main(){
             char array[]="dfyhgfhfhrtsxfvgsdfgdfgcsdtwe";
             char search='c';
             char *pa;
             pa=(char*)malloc(100);//必須給pa分配地址值

             find1(array,search,&pa);//必須使用指針地址作為實參才能修改指針所指內(nèi)容

             printf("%c\n",*pa);

             return 0;
            }

            posted @ 2009-08-03 10:16 人生在于攀登! 閱讀(204) | 評論 (0)編輯 收藏
            //回調(diào)函數(shù)
            void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nIDEvent,DWORD dwTime){
              CTime time=CTime::GetCurrentTime();
              CString str=time.Format("%H:%M:%S");
              m_Time.SetWindowText(str);
             }

            //SetTimer函數(shù)調(diào)用
            CWnd::SetTimer(1,1000,TimerProc);

            編譯出錯,錯誤信息如下:
            C:\Documents and Settings\ttc\桌面\C_workplace\System_Time\System_TimeDlg.cpp(164) : error C2664: 'SetTimer' : cannot convert parameter 3 from 'void (struct HWND__ *,unsigned int,unsigned int,unsigned long)' to 'void (__stdcall *)(struct HWND__ *,un
            signed int,unsigned int,unsigned long)'
                    None of the functions with this name in scope match the target type

            這是為什么???
            期待高手解決!
            posted @ 2009-07-31 10:54 人生在于攀登! 閱讀(741) | 評論 (3)編輯 收藏
            僅列出標題
            共2頁: 1 2 
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿

            隨筆檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久精品人妻一区二区三区四| 久久男人Av资源网站无码软件| 国产精品女同一区二区久久| 大蕉久久伊人中文字幕| 久久精品中文字幕一区| 99精品国产99久久久久久97| 久久夜色精品国产网站| 国产高清国内精品福利99久久| 人妻无码αv中文字幕久久琪琪布| 亚洲人成网亚洲欧洲无码久久| 91精品日韩人妻无码久久不卡 | 久久亚洲中文字幕精品有坂深雪| 久久久青草青青亚洲国产免观| 香蕉99久久国产综合精品宅男自 | 99精品久久精品一区二区| 久久99免费视频| 色天使久久综合网天天| 久久久噜噜噜久久| 99久久人妻无码精品系列 | 亚洲色欲久久久综合网| 天天爽天天爽天天片a久久网| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲AV无码久久精品成人| 99久久婷婷国产一区二区| 国产精品亚洲综合久久 | 国产香蕉久久精品综合网| 91视频国产91久久久| 亚洲αv久久久噜噜噜噜噜| 亚洲伊人久久成综合人影院 | 久久久久人妻一区精品性色av| 亚洲日本va午夜中文字幕久久 | 国产L精品国产亚洲区久久| 99久久精品费精品国产一区二区| 久久精品一区二区三区AV| 伊人久久大香线蕉综合网站| 久久久久久国产精品美女| 久久久久国产精品| 国产精品丝袜久久久久久不卡| 51久久夜色精品国产| 狠狠色丁香婷婷综合久久来来去 | 久久久久久久久久久精品尤物|