Maybie你可以建议如何解决我的问题。我正在尝试做这样的事情。 我有2个字符串。在其中一个中,我有一个带有许多单词的文本在另一个中我有一个字符,例如:B。如果可以编写代码,那么会找到以B字符开头的所有单词?
答案 0 :(得分:1)
你可以使用strtok()将字符串分成单词。一旦你得到第一个字符串中的单词,那么你可以检查每个单词是否以给定的字母开头。这个link可以让你了解如何使用strtok。
使用字符串库函数或使用字符串作为字符数组,有很多方法可以做到这一点。这是我用strtok()告诉过的直接方法之一。
答案 1 :(得分:0)
您可以使用strcmp()函数。它包含在“string.h”标题下。
int strcmp(string 1,string2):此函数比较作为参数传递的两个字符串,并返回+ ve number,0,-ve number。
+ ve值表示string1>字符串2。 0表示string1和string2相等 -ve value表示string1<字符串2。
答案 2 :(得分:0)
这可能对您有所帮助
#include<stdio.h>
#include<conio.h>
int main()
{
char *str;
char ch;
int i=0,j,count=0,len=0;
clrscr();
puts("Enter String");
gets(str);
puts("Enter Character");
scanf("%c",&ch);
len=strlen(str);
printf("All words that start with character %c\n\n",ch);
while(str[i]!='\0') //to traverse the string
{
if((i==0)&&str[i]==ch) //for first word
{
j=i;
while(str[j]!=' ')
{
printf("%c",str[j]);
j++;
}
printf(",");
}
if((str[i]==' ')&&(str[i+1]==ch))
{
j=i+1;
while(str[j]!=' '&&j<len) //for all other words
{ //j<len is used only if last word has same character
printf("%c",str[j]);
j++;
}
printf(",");
}
i++;
}
getch();
}