簡體   English   中英

將結構中的字符與用戶輸入進行比較

[英]Comparing a char in a struct to the user input

因此,在出於某種原因而編寫我的代碼時,將結構中的char與用戶輸入進行比較時,它本來應該不是真實的。 除非用戶輸入有所不同。

    struct user
{
    char login[11];

};

int main()
{
    char input_login[11];
    struct user goku;
    strcpy(goku.login,"goku");
    printf("Please enter the login:");
    fgets(input_login,11,stdin);

    printf("Please enter the password:");
    fgets(input_password,11,stdin);

    if (strcmp(goku.login, input_login) == 0) // not working
    {
        printf("correct");
    }
    else
    {
        printf("%s",goku.login);
    }
    return 0;
}

如果字符串中有足夠的空間,則函數fgets將與按下的Enter鍵相對應的換行符放置在字符數組中。

您應該刪除此字符。

例如

fgets(input_login,11,stdin);
input_login[strcspn( input_login, "\n" )] = '\0';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM