如何从字符串中提取数字啊 我想从COM1,COM2,COM3等等字符串中提取1.2.3等等数字,请问用VC有什么比较快点的方法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //那就别用正则表达式了,麻烦CString str = "COM1";str.Replace("COM", "");int i = atoi(str.GetBuffer(0));str.ReleaseBuffer(); 实际上就是按照既定的格式寻找需要的内容,给你个入门教程。http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm找一个boost库,然后按照你的需求编写正则表达式,然后调用boost接口实现功能即可。 当然,你的字符串要是都是COM1,COM2,COM3....这样的,最好直接查找。若是还有不规律的情况,最好考虑正则。 CString str="COM1";str=str.Right(str.GetLength()-3);int i=atoi(str); BOOL ExtractInteger(LPCTSTR lpszText, LONG *pnValue){ LONG nValue=0; LPSTR pCursor=(LPCTSTR)lpszText); TCHAR ch; while(ch=*pCursor) { if(ch>=TEXT('0') && ch<=TEXT('9')) { nValue=atol(pCursor); if(NULL!=pnValue) *pnValue=nValue; return TRUE; } if(ch&0x80) pCursor++; pCursor++; } return FALSE;} 用AfxBeginThread开启一个线程,如何去关闭这个线程? 关于Range.Copy()与sheet.paste() 使用ADO,删除当前记录 请问DLL中怎样使用ADO访问数据库? MFC如何隐藏进程的显示 迫切希望得到这两个问题的答案!(100分★★★) 【求助】vc调用DLL文件 我在写一个小程序是DOC/VIEW的如何不让VIEW充满MAINFRAME的客户区呢 关于键盘钩子 Socket问题(二)紧急!!! ftp客户端程序,如何返回上级目录? udp通信编程问题
CString str = "COM1";
str.Replace("COM", "");
int i = atoi(str.GetBuffer(0));
str.ReleaseBuffer();
http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm
找一个boost库,然后按照你的需求编写正则表达式,然后调用boost接口实现功能即可。
str=str.Right(str.GetLength()-3);
int i=atoi(str);
{
LONG nValue=0;
LPSTR pCursor=(LPCTSTR)lpszText);
TCHAR ch;
while(ch=*pCursor)
{
if(ch>=TEXT('0') && ch<=TEXT('9'))
{
nValue=atol(pCursor);
if(NULL!=pnValue) *pnValue=nValue;
return TRUE;
}
if(ch&0x80) pCursor++;
pCursor++;
}
return FALSE;
}