解析用户输入。 C

时间:2018-09-14 03:05:13

标签: c parsing strtok

我试图创建一个运行某些命令的程序(例如Pali()是command),当用户键入Pali(bob)时,程序将检查()中的单词是否是回文。同样,必须像这样精确键入命令Pali(),否则会出现错误消息。

我计划使用 strtok 来解析字符串,但不太确定如何才能仅检查字符“ Palin()”而忽略括号内的内容。另外,如何将内容从括号中拉出,以便测试其回文率?

1 个答案:

答案 0 :(得分:0)

您将需要带有strncmp标头的string.h函数来比较(检查)是否已输入字符 Palin()或使用 KMP / Needle In堆栈算法可匹配字符串。

要从()的数组中提取Palin()中的内容,请说destination[]

 #include<stdio.h>
 #include<string.h>
 #define MAX 100

 int main()
 {
    char source[]="palin(hello)";
    int len=strlen(src);
    char destination[MAX];
    memset(destination,0,MAX);

    //READ ONLINE ABOUT STRNCPY

    strncpy(destination,source+6,len-7);
    printf("%s\n",destination);

    return 0;
 }

输出Hello