[英]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.