vc2008中使用boost库
本文介紹使用boost庫正則表達式來解決字符匹配、搜索、替換等應用。現在介紹一下VC2008中怎樣配置與使用boost庫正則表達式。
1、下載與安裝boost庫,下載地址:http://sourceforge.net/projects/boost/files/boost/1.39.0/,將其解壓到E:/boost目錄。
有關boost的使用可以參考http://www.stlchina.org/twiki/bin/view.pl/Main/BoostEnterBoost
2、編譯動態庫,本文只要支持正則表達式就可以,因此只需要編譯E:/boost/libs/regex/build目錄下的文件。這步比較關鍵。
??? 具體操作:
在“運行”里輸入“cmd”,打開命令提示符;
輸入命令“cd E:/boost/libs/regex/build”,設置當前目錄
設置VC2008的配置環境變量,找到Microsoft Visual Studio 9.0/VC/bin/VCVARS32.BAT文件,把VCVARS32.BAT文件用鼠標拖到打開的cmd窗口("F:/Program Files/Microsoft Visual Studio/VC/bin/VCVARS32.BAT"),然后回車。
輸入命令“nmake –f vc9.mak”
等待幾分鐘,E:/boost/libs/regex/build多了一個vc9的文件夾,里面是很多lib和dll文件。
3、配置VC2008 “VC++目錄”,使它編譯使時候能找到正則庫。
打開vc2008,選擇“工具->選項->項目與解決方案->顯示以下內容的目錄-> 包含文件”,加入一行“E:/BOOST”
?? 選擇“工具->選項->項目與解決方案->顯示以下內容的目錄-> 庫文件”,加入一行“E:/BOOST /libs/regex/build/vc90”
4、編寫程序測試
?? VC2008中默認的是UNICODE編碼字符集,要使用regex的UNICODE版本tregex.關于正則表達式的應用可以查看使用說明和實例,分別放在libs/regex/doc和libs/regex/example目錄中.注意在編譯連接的時候可能會報告libboost_regex-vc90-mt-gd-1_39.lib文件無法找到,需要把libboost_regex-vc90-mt-gd-1_38.lib改成libboost_regex-vc90-mt-gd-1_39.lib
新建一個對話框的MFC工程,
加入頭文件
#include <boost/regex/mfc.hpp>
在按鈕鼠標單擊事件響應函數中加入
???? boost::tregex expression(_T("^select ([a-zA-Z]*) from ([a-zA-Z]*)"));
???? CString sRet;
???? CString in = _T("select gm from tab");
???? boost::tmatch what;
???? if(boost::regex_match(in, what, expression))//CString轉string
???? {
???????? for(int i=0;i<what.size();i++)
????????? {
?????????????? sRet =? CString(what[i].first, what.length(i));
?????????????? MessageBox(sRet);
????????? }
???? }
???? else
???? {
????????????? MessageBox(_T("Error Input"));
???? }
輸出的結果如下:
select gm from tab
gm
tab
?
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/achellies/archive/2009/08/22/4470964.aspx
總結
以上是生活随笔為你收集整理的vc2008中使用boost库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WHAT IS ERP
- 下一篇: 使用JIRA搭建企业问题跟踪系统(转)