首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

C++ Builder 怎么搜索某个*sql文件中的内容

2012-08-24 
C++ Builder 如何搜索某个*.sql文件中的内容如题,比如说FileListBox里面有个1.sql文件,如何搜索文件中有没

C++ Builder 如何搜索某个*.sql文件中的内容
如题,比如说FileListBox里面有个1.sql文件,如何搜索文件中有没有包含所需的字符串,如果有则在Edit中输出1,没有则输出0.

[解决办法]
如果不用正则库,自己写的话,大概可以这样写:

C/C++ code
/*参数:    szSrc       源字符串    szPattern   要查找的字符串    szDelimiter 分隔符表    ppFound     存放查找到的位置    nMaxFound   ppFound的大小返回值:    找到的符合条件的位置数用法:    char *ppFound[100];    char *szDelimiter = " \t\r\n,.;+-'\"[]{}()*&^%$#@!";  // 自定义分隔符表    int nFound = ExactlyMatch(szSrc, szPattern, szDelimiter, ppFound, 100);*/int ExactlyMatch(const char *szSrc, const char *szPattern, const char *szDelimiter, char *ppFound[], int nMaxFound) {    const char *pchStart = NULL;    const char *pch = szSrc;    int nFound = 0;    while ( true ) {        bool bIsDelimiter = strchr(szDelimiter, *pch) || (*pch == '\0');        if (  bIsDelimiter ) {            if ( pchStart != NULL ) {                int len = pch - pchStart;                if ( strncmp(pchStart, szPattern, len) == 0 ) {                    ppFound[nFound++] = pchStart;                    if ( nFound == nMaxFound )                        return -1;                }            }            pchStart = NULL;        } else {            if ( pchStart == NULL )                pchStart = pch;        }        if ( *pch++ == '\0' )            break;    }    return nFound;} 

热点排行