某公司面试题目:
1、
* char * LocatePhrase( char * src, char * word, BOOL ifcase )
请用标准C/C++完成(不得使用MFC的类)。在原串src中寻找第一个完整的子串word的位置,引号中子串的不算,并要考虑引号中的转义字符;另一个词的一部分也不算;ifcase表示是否忽略大小写;
如src为if (strcmp(aelse=="b \"d f else \"fds") ) elsex == 9;else elsex=5;
word为else;
则应返回src中'9;else'中的else的首指针;
2、
* BOOL MatchFilename( char * fmt, char * file )
请用标准C/C++完成(不得使用MFC的类)。编写程序匹配文件名,fmt为由通常意义的文件通配符,file为一个文件名,函数判断该文件名是否符合其通配符;匹配规则按当前WINDOWS的DOSPrompt为准;不以DOS的版本为准,不必将'.'特殊处理。可以使用递归算法;
如fmt="*a*b",file="aabab"时应返回TRUE,file="aababa"则应返回FALSE;