gpt4 book ai didi

C Strncmp 返回部分输入

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:18 24 4
gpt4 key购买 nike

我目前有一个正在运行的链表结构,我需要找到一种方法让用户在该结构中搜索某个字段。我已经完成了,但问题是它必须是准确的。例如,如果用户输入“maggie”它会返回结果,但是如果用户输入“mag”它不会像我想要的那样返回maggie记录。

int counter = 0;
char search[MAX];
record_type *current = head;

printf("\n\n- - - > Search Records\n\n");
printf("\tSearch: ");
scanf("%s", search);

/* search till end of nodes */
while(current != (record_type*) NULL) {
if(strncmp(current->name, search, MAX) == 0) {
printf("\t%i. %s", counter, current->name);
printf("\t%u", current->telephone);
printf("\t%s\n", current->address);
counter++;
}
current = current->next;
}

有什么想法吗?我猜有一种方法可以与字符进行比较吗?谢谢!

最佳答案

你的问题不是很清楚...

如果只想返回完全匹配,请改用 strcmp

if (strcmp(current->name, search) == 0) {

如果您想返回部分匹配项,请使用 strncmp 但大小要超过您的搜索字符串:

if (strncmp(current->name, search, strlen(search)) == 0) {

关于C Strncmp 返回部分输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13792533/

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