问题4.1:代码实现
#include
当要查找的文件为“test.txt”,要查找的串为”the”,且文件test.txt中内容为:Nowisthetimeforallgoodmentocometotheaidoftheirparty则屏幕输出:this is thetimemen to come to theaidof their party问题4.1:测试(续)
?
其它考虑点:
??
要查找的串在一行的头、尾要查找的串在文件中不存在
问题4.1:思考1
?
问题4.1实现了大小写相关的字符串查找,即字符串“the”和“The”是不同字符串。请实现大小写无关的字符串查找。
intindex(chars[],chart[])
?
算法分析:
{
inti,j,k;
在比较字符时,可将比较字符均转换为小写或大for(i=0;s[i]!=?\\0?;i++){写既可实现大小写无关查找。for(j=i,k=0;t[k]!=?\\0?&&tolower(s[j])==tolower(t[k]);设函数char tolower(char c)用于将字符c转换;为相应小写字符,则上面index可改为:if(t[k]==?\\0?)
return(i);
}
return(-1);}
j++,k++)
问题4.1:函数tolower实现
?
方法一:
char tolower(char c){
if( c >=?A? && c<=?Z?)return ?a? –?A? + c;return c;}
?
方法二:对于象tolower这样功能简单的函数,可以用宏函数来实现。
#define tolower(c)
(c>=?A?&&c<=?Z? ? ?a?-?A?+c:c)