读书人

小疑点,代码编译不过.不知道原因

发布时间: 2012-02-26 20:19:45 作者: rapoo

小问题,代码编译不过......不知道原因
下面这段代码在vc++.net 2003下编译不过,但是里面的函数的用法确实是对的.不知道原因.

代码位置:http://www.linux286.com/bbs/thread-2689-1-1.html



[解决办法]
用vs2003试了一下
发现主要是unsigned char 和char的转换问题
最后main函数改这样

int main(int argc, char *argv[])
{
int i, nocase = 0;
ACSM_STRUCT * acsm;
if (argc < 3){
fprintf (stderr, "Usage: acsmx pattern word-1 word-2 ... word-n -nocase\n ");
exit (0);
}
acsm = acsmNew ();
strcpy ((char*)text, argv[1]);
for (i = 1; i < argc; i++)
if (strcmp (argv[i], "-nocase ") == 0)
nocase = 1;
for (i = 2; i < argc; i++){
if (argv[i][0] == '- ')
continue;
acsmAddPattern (acsm, (unsigned char*)argv[i], strlen (argv[i]), nocase, 0, 0,
(unsigned) argv[i], i - 2);
}
acsmCompile (acsm);
acsmSearch (acsm, text, strlen ((char*)text), MatchFound, (void *) 0);
acsmFree (acsm);
printf ( "normal pgm end\n ");
return (0);
}

读书人网 >C++

热点推荐