97久久婷婷五月综合色d啪蜜芽,亚洲伊人久久精品影院,免费久久人人爽人人爽avhttp://www.shnenglu.com/vliuchao/Just Dive Into!zh-cnTue, 01 Jul 2025 04:45:42 GMTTue, 01 Jul 2025 04:45:42 GMT60MySQL在linux中的安裝和后續(xù)http://www.shnenglu.com/vliuchao/archive/2011/04/24/144899.htmlRichard LiuRichard LiuSun, 24 Apr 2011 06:06:00 GMThttp://www.shnenglu.com/vliuchao/archive/2011/04/24/144899.htmlhttp://www.shnenglu.com/vliuchao/comments/144899.htmlhttp://www.shnenglu.com/vliuchao/archive/2011/04/24/144899.html#Feedback0http://www.shnenglu.com/vliuchao/comments/commentRss/144899.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/144899.htmlcentos的安裝盤帶了mysql的安裝,安裝以后,mysql實際上還是需要配置的,前兩天折騰了半天,寫下過程來供以后在搞的時候備忘:
1 安裝centos是自定義安裝軟件包,選擇服務(wù)器中的Mysql
2 安裝以后,需要做一些配置,首先在centos的界面選擇 管理 服務(wù)(services)開啟MySql的服務(wù),當(dāng)然也可以 services mysqld start,不過在終端用命令開啟下一次重啟還需要再輸入,還是再界面配置不錯的,網(wǎng)上看了一下似乎也可以拷貝文件到etc的某一個目錄也可以實現(xiàn)開機啟動服務(wù),不過有界面使用,何必折騰那玩意。
3 此時的mysql通過MySQL-Front或mysql administrator連接mysql的時候發(fā)生錯誤ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server
  說明所連接的用戶帳號沒有遠程連接的權(quán)限,只能在本機(localhost)登錄。需更改 mysql 數(shù)據(jù)庫里的 user表里的 host項把localhost改稱%
4具體步驟:登陸到mysql
1)mysql> use mysql;
按照別人提供的方式update的時候,出現(xiàn)錯誤。
mysql> update user set host='%' where user = 'root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
然后查看了下數(shù)據(jù)庫的host信息如下:
2)mysql> select host from user where user = 'root';
+-----------------------+
| host |
+-----------------------+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+-----------------------+
3 rows in set (0.00 sec)
host已經(jīng)有了%這個值,所以直接運行命令:
3)mysql>flush privileges;
ps:別忘了每次輸入后面的;
5 再用mysql administrator連接.,用戶名root密碼為空,可以連接上了 建立本機用戶和遠程訪問用戶就可以了。



Richard Liu 2011-04-24 14:06 發(fā)表評論
]]>
RTMP協(xié)議詳解(三)http://www.shnenglu.com/vliuchao/archive/2009/12/30/104422.htmlRichard LiuRichard LiuTue, 29 Dec 2009 16:15:00 GMThttp://www.shnenglu.com/vliuchao/archive/2009/12/30/104422.htmlhttp://www.shnenglu.com/vliuchao/comments/104422.htmlhttp://www.shnenglu.com/vliuchao/archive/2009/12/30/104422.html#Feedback14http://www.shnenglu.com/vliuchao/comments/commentRss/104422.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/104422.html閱讀全文

Richard Liu 2009-12-30 00:15 發(fā)表評論
]]>
RTMP協(xié)議詳解(二)http://www.shnenglu.com/vliuchao/archive/2009/12/29/104323.htmlRichard LiuRichard LiuMon, 28 Dec 2009 16:45:00 GMThttp://www.shnenglu.com/vliuchao/archive/2009/12/29/104323.htmlhttp://www.shnenglu.com/vliuchao/comments/104323.htmlhttp://www.shnenglu.com/vliuchao/archive/2009/12/29/104323.html#Feedback0http://www.shnenglu.com/vliuchao/comments/commentRss/104323.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/104323.html閱讀全文

Richard Liu 2009-12-29 00:45 發(fā)表評論
]]>
RTMP協(xié)議詳解(一)http://www.shnenglu.com/vliuchao/archive/2009/12/27/104163.htmlRichard LiuRichard LiuSat, 26 Dec 2009 16:53:00 GMThttp://www.shnenglu.com/vliuchao/archive/2009/12/27/104163.htmlhttp://www.shnenglu.com/vliuchao/comments/104163.htmlhttp://www.shnenglu.com/vliuchao/archive/2009/12/27/104163.html#Feedback8http://www.shnenglu.com/vliuchao/comments/commentRss/104163.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/104163.html

Real Time Messaging Protocol(實時消息傳送協(xié)議協(xié)議)Adobe Systems公司為Flash播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸開發(fā)的私有協(xié)議。

具體使用RTMPAS代碼大概如下:

  var videoInstance:Video = your_video_instance;

  var nc:NetConnection = new NetConnection();

  var connected:Boolean = nc.connect("rtmp://localhost/myapp");

  var ns:NetStream = new NetStream(nc);

  videoInstance.attachVideo(ns);

ns.play("flvName");

Adobe也在官方網(wǎng)站已經(jīng)提供了RTMP協(xié)議的官方文檔說明,為什么要寫這個系列文章最大的原因只是對前一段工作的一個總結(jié)和回顧,最近兩個月,實現(xiàn)了一個RTMP Serverc++版本,把公司的流媒體服務(wù)和flash無縫對接起來。希望我的文字能給后來研究這個協(xié)議的同學(xué)有一定的幫助。

RTMP協(xié)議是一個基于TCP的高層協(xié)議族,當(dāng)然這個玩意據(jù)說還有UDP協(xié)議版本的,不過現(xiàn)在還沒有出來,好像Adobe下一版本的FMS會提供支持。下文將要描述的是TCP協(xié)議版本的協(xié)議。

   RTMP協(xié)議的概要理解:

RTMP協(xié)議是為了和flash之間交換信令以及媒體數(shù)據(jù)。為了提高使用效率信令和媒體數(shù)據(jù)都是使用相同的機制。因為是相同的機制Adobe就整出來了一些比較搞人的概念,當(dāng)然每個協(xié)議第一次接觸都是比較難理解的。

        RTMP協(xié)議中信令和媒體數(shù)據(jù)都稱之為Message,在網(wǎng)絡(luò)中傳輸這些Message,為了區(qū)分它們肯定是要加一個Message  head的,所以RTMP協(xié)議也有一個Message head,還有一個問題因為RTMP協(xié)議是基于TCP的,由于TCP的包長度是有限制的(一般來說不超過1500個字節(jié)),而RTMPMessage長度是有可能很大的,像一個視頻幀的包可能會有幾十甚至幾千K,這個問題就必然有一個分片的問題,在RTMP協(xié)議中對應(yīng)的說法就是chunk,每一個Message + head都是由一個和多個chunk組成的。到這里對RTMP協(xié)議的概要理解就算完了。



Richard Liu 2009-12-27 00:53 發(fā)表評論
]]>
精確地計時方式,可以用來評判算法的運行時間http://www.shnenglu.com/vliuchao/archive/2009/05/28/86052.htmlRichard LiuRichard LiuThu, 28 May 2009 15:17:00 GMThttp://www.shnenglu.com/vliuchao/archive/2009/05/28/86052.htmlhttp://www.shnenglu.com/vliuchao/comments/86052.htmlhttp://www.shnenglu.com/vliuchao/archive/2009/05/28/86052.html#Feedback0http://www.shnenglu.com/vliuchao/comments/commentRss/86052.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/86052.html    在做涉及到算法的時候,想驗證一下算法的實現(xiàn)優(yōu)劣的時候總是需要一個算法的計算時間的判斷的,可惜Windows和linux等操作系統(tǒng)提供的記時貌似都不是很準(zhǔn),這個可能和現(xiàn)在的操作系統(tǒng)的時間片輪轉(zhuǎn)有關(guān)吧,也可能是我比較老土啦,反正我一直在x86體系的機器上是沒有找到太好的計時方式的,最近偶然和同事聊天的時候知道了一個比較精確地記時方式,感覺不錯哦,使用的是CPU指令級別的判定應(yīng)該是比較準(zhǔn)的哦,Windows系統(tǒng)的代碼如下
1   inline unsigned __int64 GetCycleCount() 
2 
3     __asm _emit 0x0F 
4     __asm _emit 0x31 
5 
簡單的幾句,在VC下面是可以編譯通過的哦,算出來的結(jié)果是系統(tǒng)開機以來的CPU時鐘節(jié)拍數(shù),理論上說這個結(jié)果應(yīng)該是比較準(zhǔn)的哦,至于是不是CPU時鐘節(jié)拍那我也不是很清楚啦?感覺好像是這么個名詞哦,以前學(xué)的組成原理忘得差不多了哦,不過我可以確定的是算出來的最終結(jié)果的計量單位是一個CPU時鐘周期的八分之一。
    同樣的在linux系統(tǒng)下面也有類似的方式,對應(yīng)的實現(xiàn)方法
  __inline__ unsigned long long int rdtsc()
   {
     __asm__ volatile (".byte 0x0f, 0x31");
   }


Richard Liu 2009-05-28 23:17 發(fā)表評論
]]>
多線程編程學(xué)習(xí)筆記(1)- 進程和線程的異同http://www.shnenglu.com/vliuchao/archive/2009/01/10/71677.htmlRichard LiuRichard LiuSat, 10 Jan 2009 13:17:00 GMThttp://www.shnenglu.com/vliuchao/archive/2009/01/10/71677.htmlhttp://www.shnenglu.com/vliuchao/comments/71677.htmlhttp://www.shnenglu.com/vliuchao/archive/2009/01/10/71677.html#Feedback0http://www.shnenglu.com/vliuchao/comments/commentRss/71677.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/71677.html線程和進程都有ID,寄存器組,狀態(tài),優(yōu)先權(quán),信息塊。
線程和進程都與父進程共享資源。
線程和進程在創(chuàng)建以后都是獨立的實體。
進程和線程的創(chuàng)建者對其擁有控制權(quán)。
進程和線程都可以在創(chuàng)建以后修改屬性和創(chuàng)建新的資源。
進程和線程都不可以訪問其他與自己無關(guān)的進程和線程的資源。
進程和線程的不同之處:
進程有一個自己的地址空間,線程沒有自己的地址空間。
父進程和子進程通信必須使用進程間的通信機制,而父進程和子線程進行通信就可以直接通信,同一進程的線程可以直接寫入和讀取讀取進程的變量。
子進程不可以對其他子進程進行影響,子線程可以對其他子線程進行影響。
子進程不可以對父進程施加控制,進程的所有子線程都可以對主線程施加控制,并影響整個進程。


Richard Liu 2009-01-10 21:17 發(fā)表評論
]]>
MFC中一個小技巧---獲取窗口所有的同類控件http://www.shnenglu.com/vliuchao/archive/2008/12/24/70276.htmlRichard LiuRichard LiuWed, 24 Dec 2008 13:40:00 GMThttp://www.shnenglu.com/vliuchao/archive/2008/12/24/70276.htmlhttp://www.shnenglu.com/vliuchao/comments/70276.htmlhttp://www.shnenglu.com/vliuchao/archive/2008/12/24/70276.html#Feedback0http://www.shnenglu.com/vliuchao/comments/commentRss/70276.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/70276.html   最近寫一個小的工具,用到MFC做界面,窗口中有很多Edit控件,來處理用戶的輸入值,在初始狀態(tài)是不可見的,按下Button應(yīng)該有一個響應(yīng)顯示所有Edit控件,剛開始的時候想直接調(diào)用 ShowWindow了事,可是實在是控件太多了哦,一個一個寫確實很麻煩哦,不知道有什么好方法,問了一下非哥,想不到真的有一種好的方法可以解決這樣的需求,非哥不愧為MFC活化石
CWnd *pWnd = this->GetWindow( GW_CHILD );
while( pWnd )
{
  
if( pWnd->IsKindOf( RUNTIME_CLASS(CEdit) ) )
      pWnd
->ShowWindow(SW_SHOW);
       pWnd 
= pWnd->GetWindow( GW_HWNDNEXT );
}
上面的代碼實現(xiàn)了顯示窗口中所有的CEdit控件,先是獲取當(dāng)前窗口的子窗口,在判斷是否是CEdit類的實例,
ShowWindow,在得到子窗口的兄弟節(jié)點,哎!MFC有時還是比較有意思的哦!

Richard Liu 2008-12-24 21:40 發(fā)表評論
]]>
開發(fā)航片處理工具的一點感受http://www.shnenglu.com/vliuchao/archive/2008/12/22/70111.htmlRichard LiuRichard LiuMon, 22 Dec 2008 15:13:00 GMThttp://www.shnenglu.com/vliuchao/archive/2008/12/22/70111.htmlhttp://www.shnenglu.com/vliuchao/comments/70111.htmlhttp://www.shnenglu.com/vliuchao/archive/2008/12/22/70111.html#Feedback0http://www.shnenglu.com/vliuchao/comments/commentRss/70111.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/70111.html在這個過程中收獲還是不少的哦,痛并快樂著,不能不佩服老大的架構(gòu)的思想,在英明神武的老大的指導(dǎo)下開發(fā)出一個基本上比較符合面向?qū)ο蟮能浖渲械木幊趟枷氲臎_擊是巨大的哦,顛覆了我以前做程序的很多固有觀點。
首先來說說該工具的需求,對已有的大尺寸的航片進行切割,切割出給定寬高的航片,在提層合并航片。具體來說就是如果有一張1024 * 1024的航片切割成8 * 8張 128*128大小的航片為第零層,提層比率為2,則第1層就是原航片的256*256大小的,但是要保存為128 *128的航片 這樣的航片有4 *4張,依次類推,第2層 第 3層...,還有這些航片的編號以LLXXXYYY編號,坐標(biāo)原點為航片左下角,ll為層數(shù),XXX為X軸上航片編號,YYY為Y軸上的航片的編號。
剛開始聽到這個需求的時候確實是沒有什么頭緒,研究了一下libtiff就開始搞了哦,剛開始的時候很快就把航片的讀寫搞定了,以為會很快就解決問題啦,悶著頭在那里狂寫代碼,第一版交給老大,被鄙視的不行哦,首先因為需求沒有理解清楚,自己理解的圖像編號和老大所說的圖像編號的順序不同哦,回過來改代碼發(fā)現(xiàn)居然無從下手,還有就是老大要生成航片處理的結(jié)果,也無法在代碼中體現(xiàn)。說實話當(dāng)時心里還是比較嘀咕的,覺得老大交代問題沒有交代清楚,后來老大說的一句話還是比較有道理的,客戶的需求是不斷變化的,你要是想讓用戶來適應(yīng)你的設(shè)計是不可能的,你的設(shè)計應(yīng)該是自適應(yīng)的,能夠應(yīng)對客戶不斷變化的需求。聽完這句話,只有無語接著在那里寫代碼,等我寫的七七八八了,老大有空看了一下我的代碼,繼續(xù)鄙視我哦,為何?模塊劃分不清,UI層中有太多航片處理的邏輯,航片處理模塊中也有太多的航片編號的邏輯。一句話 整個代碼只是為做實現(xiàn)這個功能,毫無擴展性,如果以后在在上面添加功能基本上是沒有可能。
哎!老大當(dāng)時這樣說了,讓我修改代碼,當(dāng)時真是想死的心都有了哦,修改也不知道怎么下手,和老大探討了半天,終于是定下了架構(gòu),呵呵當(dāng)然啦,主要還是老大定的架構(gòu)。這次交流收獲還是不少的哦。
做軟件首先應(yīng)該定下的是輸入和輸出,確定數(shù)據(jù)的流向。從UI層定義輸入,確定盡可能少的輸入?yún)?shù),從輸出確定數(shù)據(jù),輸入?yún)?shù)到輸出之間確定數(shù)據(jù)的流向,對數(shù)據(jù)的流向進行功能上的劃分,確定不同的模塊,模塊之間盡可能少的耦合性,如果一個數(shù)據(jù)和操作是相互關(guān)聯(lián)的則可以視為一個對象,對象的設(shè)計應(yīng)該考慮到擴展性,盡可能的從一個基類派生,為以后擴展提供基礎(chǔ),使用工廠模式來確定不同的對象。還有就是UI與底層數(shù)據(jù)處理模塊應(yīng)該沒有關(guān)聯(lián),通過一個處理模塊來出來UI和底層模塊之間的交換。
  哎,這樣做下來,我的工具有5個模塊,一個處理編號生成的模塊A,一個參數(shù)保存的模塊B,一個處理航片讀寫的模塊C,一個生成切割航片的模塊D,一個與UI交互和與底層交互的模塊E,它們之間的依賴關(guān)系為 E依賴于A D, A依賴于B, D依賴于C,這樣模塊間依賴清楚,接口也定義的明確。
收獲哦!有一種豁然開朗的感覺,以后有機會獨立開發(fā)的時候應(yīng)該多想想這樣的問題,爭取早日有所成就哦!


Richard Liu 2008-12-22 23:13 發(fā)表評論
]]>
VS2005開發(fā)DLL工程http://www.shnenglu.com/vliuchao/archive/2008/12/21/69962.htmlRichard LiuRichard LiuSat, 20 Dec 2008 16:40:00 GMThttp://www.shnenglu.com/vliuchao/archive/2008/12/21/69962.htmlhttp://www.shnenglu.com/vliuchao/comments/69962.htmlhttp://www.shnenglu.com/vliuchao/archive/2008/12/21/69962.html#Feedback3http://www.shnenglu.com/vliuchao/comments/commentRss/69962.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/69962.html       首先要有一個解決方案,我想這個怎么搞就不用我在這里廢話了哦,生成一個項目作為界面,同時這個項目也是主項目。在該解決方案下面添加實現(xiàn)不同功能的各種項目,這些項目在向?qū)е羞x擇的時候選擇為win32 項目,在為win32項目的應(yīng)用程序設(shè)置中選擇DLL就可以建立一個DLL工程了,在DLL工程中添加自己寫的頭文件和CPP文件,這樣就建立了一個DLL不過現(xiàn)在還沒有導(dǎo)出DLL。
     要生成一個DLL還必須添加導(dǎo)出函數(shù)的宏, __declspec(dllexport)和__declspec(dllimport) 這里有一個小的技巧,就是利用工程的預(yù)編譯宏來設(shè)置如果有一個工程名為Test,在要導(dǎo)出的類前面加上如下的代碼
1#ifdef TEST_EXPORTS
2#define TEST_API  __declspec(dllexport)
3#else
4#define TEST_API __declspec(dllimport)
5#endif
如果要導(dǎo)出的類名為class exportA;則可以在頭文件中類的聲明可以這樣寫class TEST_API exportA結(jié)可以把整個類導(dǎo)出了,在主工程中引用導(dǎo)出類exportA 只要包含該頭文件就可以了,為什么會這樣這是因為使用了上面的預(yù)編譯頭的緣故哦,在DLL工程中存在TEST_EXPORTS宏,所以在DLL工程中是類導(dǎo)出,在其他引用該工程的工程中包含搞頭文件因為不存在TEST_EXPORTS宏,所以是類導(dǎo)入,呵呵 比較巧妙吧,其實看看網(wǎng)上的很多開源的庫生成DLL的好像很多也使用了該方法,不過可能可能開源庫很少是用VS開發(fā)的,所以不知道他們具體是怎么搞的。但是確實看到很多的開源庫的配置文件性質(zhì)的投文件中使用了這個技巧的。
     上面說的還有一個問題就是在其他工程中包含DLL工程還存在問題,無法引用導(dǎo)出的類,應(yīng)該還有一個工作要做那就是應(yīng)該包含DLL工程生成的lib 和dll文件加上導(dǎo)出類的頭文件就可以直接使用DLL工程中的類了哦,不過如果是自己開發(fā)還是最好把DLL工程和要引用DLL的工程作為一個解決方案的啦,這樣方便調(diào)試的,這里有幾個問題要注意:
      1 項目依賴一定要設(shè)置好,至于怎么設(shè)置 那我就不說了哦,呵呵 在項目右鍵總是會的哦
      2 項目引用要設(shè)置哦,比如說工程A使用了exportA類,那就一定要設(shè)置引用,引用工程Test,怎么設(shè)置,在A的通用屬性中的引用中設(shè)置啦。
    ok這樣就可以開發(fā)出使用DLL的工程了哦,Release的時候含有一大堆的DLL給用戶搞得很專業(yè)的樣子哦,呵呵!PS:可能有人說導(dǎo)出類會暴露很多細節(jié)給用戶啦,呵呵這個其實也好解決的哦,看看OCI的封裝就會知道哦,使用私有類就可以隱藏所有的私有方法和屬性的哦,具體怎么搞?呵呵去看看exception C++上關(guān)于IMPL的啦 上面有很好的說明撒。

Richard Liu 2008-12-21 00:40 發(fā)表評論
]]>
C++中的流(1)http://www.shnenglu.com/vliuchao/archive/2008/12/12/69301.htmlRichard LiuRichard LiuFri, 12 Dec 2008 14:43:00 GMThttp://www.shnenglu.com/vliuchao/archive/2008/12/12/69301.htmlhttp://www.shnenglu.com/vliuchao/comments/69301.htmlhttp://www.shnenglu.com/vliuchao/archive/2008/12/12/69301.html#Feedback0http://www.shnenglu.com/vliuchao/comments/commentRss/69301.htmlhttp://www.shnenglu.com/vliuchao/services/trackbacks/69301.html流在C++中的地位是很重要的,流的概念隨C++程序設(shè)計語言問世以來就存在,ANSI C++C++流大概占三分之一的比重,從中可以看出流的重要。

在學(xué)校的時候接觸C++,其實學(xué)習(xí)的第一個hello world程序就使用了流

 
1#include <iostream>
2
3using namespace std;
4
5int main(int argc, char *argv[])
6{
7 cout<<"hello world"<<endl;
8}
 其中的cout就是標(biāo)準(zhǔn)IO流,往標(biāo)準(zhǔn)終端輸出,輸出類型為const char數(shù)組,但是也可以輸出數(shù)值,不論是int型還是浮點數(shù)都可以輸出,輸出到標(biāo)準(zhǔn)終端的都是字符型數(shù)組。
        對應(yīng)cout的有cin為從標(biāo)準(zhǔn)輸入設(shè)備得到輸入,簡單的示例如下
 
 1#include <iostream>
 2
 3using namespace std;
 4
 5int main(int argc, char *argv[])
 6{
 7 int X;
 8 int Y;
 9 cin>>X>>Y;
10 cout << X+Y<<endl;
11}

上個示例中中從標(biāo)準(zhǔn)輸入設(shè)備,如鍵盤輸入數(shù)值可以賦值給int變量 X ,Y值,間隔輸入用回車來隔開。
      簡單的說了一下C++的流,那具體來說說什么是流,流可以從輸入輸出方面來理解,就是用來傳遞數(shù)據(jù)的的一個無結(jié)構(gòu)的字節(jié)序列、字符序列、或者任意同等大小的單位的數(shù)據(jù)序列,就像一個流動的管道來承載數(shù)據(jù),估計這就是為什么叫做流的緣故吧,俺猜的哦!

    標(biāo)準(zhǔn)C++支持流IO,也就是流形式的IO,對于流形式的IO實際形式的接口隱藏在IO流的接口中,對流IO的用戶來說與IO交互的就是字符流,呵呵記住哦,就是字符流,不是字節(jié)流也不是位流哦,這里字符流有兩種形式,一種char型的,一種的wchar_t型的。上面說到的cin和cout方法就是用來和流IO進行交互的,當(dāng)然還有cerr和clog這個以后專門來講講哦。
       在實際的編程中還會用到另外一種形式的流——串,這個也是流的一種,具體怎么來定義串,俺也不知道哦,等什么時候找到經(jīng)典定義了在來說說哦。這里就講講幾個用串的經(jīng)典用法,編程的時候經(jīng)常用到的幾個方法。

 1#include <sstream>
 2template <class T>
 3std::string  ToString(const T& _value)
 4{             
 5std::ostringstream o;    
 6<< _value; 
 7return(o.str());
 8}

 9
10template <class T>
11T FromString(const std::string& _value)
12{            
13std::istringstream i(_value); 
14T t;
15>> t; 
16return(t);
17}

上面兩個函數(shù)可以實現(xiàn)在C++中的字符串轉(zhuǎn)數(shù)值和數(shù)值轉(zhuǎn)字符串,至于為什么能實現(xiàn)轉(zhuǎn)換,這就是因為流的實現(xiàn)形式一般都是分為四個步驟的:
1  格式化解析
2 緩沖
3 編碼轉(zhuǎn)換
4 傳遞
上面的兩個函數(shù)沒有涉及到編碼轉(zhuǎn)換的問題,這個由local類來實現(xiàn)的,會在后續(xù)的文章來接著分析啦,在這里在丟一個常用的數(shù)值轉(zhuǎn)字符串的常用方法來結(jié)束本文哦,
 1///對齊數(shù) _value是要轉(zhuǎn)換的數(shù)值,_alignLen是對齊
 2///的長度,這個方法的應(yīng)用還是比較多的哦,像輸入10 1 
 3///100這類數(shù)值前面要用0補齊即010,001,100這樣的形
 4///式,用串來實現(xiàn)就不用用if判斷了>100,>10,>1的情況
 5///這還只是三位數(shù)的情況,要是十位數(shù)或者更多,我估計用
 6///if來判斷那還不是瘋了哦,還是用我這個函數(shù)好哦,只要
 7///一個參數(shù)什么都搞定

 8#include<sstream>
 9template<typename T>
10string GetAlignment(T _value, int _alignLen)
11{
12ostringstream returnNum;
13returnNum.width(_alignLen);
14returnNum.fill('0');
15returnNum<<_value;
16returnNum.width(0);
17return (returnNum.str());
18}

 今天就說到這里哦,下次對流進行詳細的剖析哦!

Richard Liu 2008-12-12 22:43 發(fā)表評論
]]>
久久亚洲国产欧洲精品一| 日韩亚洲欧美久久久www综合网 | 三级韩国一区久久二区综合 | 精产国品久久一二三产区区别| 久久夜色精品国产亚洲av| 久久久久久久波多野结衣高潮 | 国产精品gz久久久| 久久久久亚洲精品中文字幕| 久久婷婷色综合一区二区| 久久国产精品无码一区二区三区| 天天爽天天爽天天片a久久网| 久久精品成人一区二区三区| 中文国产成人精品久久不卡| 国产精品99久久不卡| 欧美噜噜久久久XXX| 久久久久这里只有精品 | 久久亚洲国产成人影院网站| 欧洲成人午夜精品无码区久久| 国产叼嘿久久精品久久| 亚洲中文字幕久久精品无码APP | 久久久久久无码国产精品中文字幕| 亚洲精品NV久久久久久久久久 | 国产亚洲成人久久| 久久精品国产亚洲AV大全| 久久综合久久性久99毛片| 精品久久一区二区| 色88久久久久高潮综合影院| 久久久噜噜噜久久中文字幕色伊伊| 久久99久久99精品免视看动漫| 亚洲综合久久久| 久久久久亚洲AV成人网| 中文字幕一区二区三区久久网站| 久久夜色精品国产噜噜亚洲AV| 色综合久久天天综线观看| 国产亚洲成人久久| 日本加勒比久久精品| 欧美久久久久久午夜精品| 精品久久人人妻人人做精品| 青青青青久久精品国产| 94久久国产乱子伦精品免费| 久久精品国产精品青草app|