解析用户输入。 C
Parsing user input. C
我正在尝试创建一个运行某些命令(Pali() 是命令)的程序,例如,当用户输入 Pali(bob) 时,程序会检查 () 中的单词是否为回文。此外,命令 Pali() 必须完全像那样输入,否则会出现错误消息。
我计划使用 strtok 来解析字符串,但不太确定如何只检查字符 "Palin()" 并忽略括号内的内容.另外,我怎样才能将括号中的内容拉出来,以便我可以测试它是否是回文?
您将需要 strncmp
函数与 string.h
header 来比较(检查)字符 Palin( 是否已输入或使用 KMP/Needle In The Stack 算法来匹配字符串。
要从数组中的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
我正在尝试创建一个运行某些命令(Pali() 是命令)的程序,例如,当用户输入 Pali(bob) 时,程序会检查 () 中的单词是否为回文。此外,命令 Pali() 必须完全像那样输入,否则会出现错误消息。
我计划使用 strtok 来解析字符串,但不太确定如何只检查字符 "Palin()" 并忽略括号内的内容.另外,我怎样才能将括号中的内容拉出来,以便我可以测试它是否是回文?
您将需要 strncmp
函数与 string.h
header 来比较(检查)字符 Palin( 是否已输入或使用 KMP/Needle In The Stack 算法来匹配字符串。
要从数组中的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