我正在尝试读取文件并识别命令行中提供的单词实例。但是,当我使用它时:
strtok(line,argv[2])
它标识argv中存在的任何字母的任何实例[2](据我所知这是strtok的工作原理)但我只希望它能识别字符串的完全匹配。如果我需要使用strtok,有没有办法解决这个问题?谢谢!
答案 0 :(得分:0)
查看函数strstr(char *str1, char *str2)
。
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="A random string.";
char *pch;
pch = strstr(str,"random");
if(pch == NULL)
{
puts("Doesn't contain random");
}
else
{
puts("Contains random");
}
return 0;
}
答案 1 :(得分:0)
strtok将基于给定列表将字符串作为第二个参数进行tokanize。它将使用字符组合。例如,如果第二个参数包含一个字符串“abcd”,那么如果它找到'a','ab','abc'或'abcd',strtok将对这些字符串进行标记。 根据您的要求,您可以使用strstr(string,substring)。此函数将返回第一次出现的字符串的指针。通过使用此功能,您可以编写自己的函数,该函数将根据您的需求对子字符串中的字符串进行标记。