gpt4 book ai didi

c - strcmp() 来自标准输入的字符串和来自文件的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:21 25 4
gpt4 key购买 nike

<分区>

我在比较文件中的字符串时遇到问题。我想从一个字典文件中创建一个单词列表。我不知道为什么 strcmp() 只返回 -1 或 1,即使我使用文件中的单词也是如此。在输出中我有例如:1somethingsomething 而不是 0somethingsomething

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct words
{
char *word;
struct words *next;
};

void pushBack(struct words **headPointer, char string[])
{
struct words *pointer;
pointer = *headPointer;
if (*headPointer == NULL)
{

*headPointer = (struct words*)malloc(sizeof(struct words));
(*headPointer)->next = NULL;
(*headPointer)->word = (char*)malloc(sizeof(char)*(strlen(string)+1));
strcpy((*headPointer)->word, string);

}
else
{
while (pointer->next != NULL)
{
pointer = pointer->next;
}
pointer->next = (struct words*)malloc(sizeof(struct words));
pointer = pointer->next;
pointer->next = NULL;
pointer->word = (char*)malloc(sizeof(char)*(strlen(string)+1));
strcpy(pointer->word, string);
}
}

void createList(struct words **headPointer)
{
FILE *fp;
char string[80];

if ((fp = fopen("polski.txt", "rw")) == NULL)
{
printf ("Nie mogê otworzyæ pliku test.txt do zapisu!\n");
exit(-1);
}
else
{
while(fgets(string, 80, fp) != NULL)
{
pushBack(headPointer, string);
}
}
}

int seek(struct words *head, struct words **wordBeforePointer, struct words **wordAfterPointer)
{
char string[80];

printf("Type a word to seek:\n");
scanf("%s", string);

*wordBeforePointer = NULL;
*wordAfterPointer = NULL;

if (head != NULL)
{
if (strcmp(head->word, string) == 0)
{
return 1;
}
while(head->next != NULL)
{
head = head->next;
printf("%s", string);
printf("%s", head->word);
printf("%d", strcmp(head->word, string));
if (strcmp(head->word, string) == 0)
{
return 1;
}
}
}
return 0;
}

int main()
{
struct words *head, *wordBefore, *wordAfter;
head = NULL;
wordBefore = NULL;
wordAfter = NULL;


createList(&head);
printf("%d", seek(head, &wordBefore, &wordAfter));


return 0;
}

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