gpt4 book ai didi

c - 如何使用strtok获取单词

转载 作者:行者123 更新时间:2023-11-30 19:09:06 26 4
gpt4 key购买 nike

我的代码有一些问题。我需要在 c 中使用 strtok() 输出字符串“Date WEEk Dae Due Toy De Dae i Date Due”中的单词“Sing”和“Toy”(两者都在单词“Due”和“De”之间)星德”。我尝试使用代码中的 if 语句显式输出单词“Sing”和“Toy”,但我的代码不会产生任何输出,并且在编译期间没有警告。我只是C语言的初学者,所以请耐心等待。我听说其他函数(例如 strstr())可能能够完成与 strtok() 相同的工作,因此如果这些其他函数使用起来更方便,请毫不犹豫地使用这些函数。谢谢。摘要:我正在尝试使用 strtok() 获取上面字符串中“Due”和“De”之间的单词,是否可以这样做,或者我应该使用其他函数?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char string[]="Date WEEk Dae Due Toy De Dae i Date Due Sing De";
char*pch;
pch=strtok(string,"De");

while(pch!=NULL){
if((*(pch-1)=='a')&&(*(pch-2)=='u'))
printf("%s\n",pch);

pch=strtok(NULL,"De");
}
return 0;
}

最佳答案

请记住 strtok() 的第二个参数是一个分隔符列表:

C string containing the delimiter characters. These can be different from one call to another.

现在在您的代码中, token 将在每个大写 D 和小写 e 之后获取。对于您的描述中提到的情况,更适合使用 strstr() 解决问题。 .

关于c - 如何使用strtok获取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43842630/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com