Zeichenkettenvergleich in einem realen Szenario anwenden
In diesem Schritt werden Sie ein einfaches Passwortverwaltungssystem erstellen, das praktische Zeichenkettenvergleichstechniken demonstriert.
- Erstellen Sie eine neue Datei mit dem Namen
password-manager.c
im Verzeichnis ~/project
:
cd ~/project
touch password-manager.c
- Öffnen Sie die Datei in der WebIDE und fügen Sie den folgenden Code hinzu:
#include <stdio.h>
#include <string.h>
#define MAX_USERS 3
#define MAX_USERNAME 50
#define MAX_PASSWORD 50
// User structure to store credentials
struct User {
char username[MAX_USERNAME];
char password[MAX_PASSWORD];
char role[20];
};
int main() {
// Predefined user database
struct User users[MAX_USERS] = {
{"admin", "admin123", "administrator"},
{"manager", "manager456", "manager"},
{"user", "user789", "regular"}
};
char input_username[MAX_USERNAME];
char input_password[MAX_PASSWORD];
int login_success = 0;
printf("=== Simple Password Management System ===\n");
printf("Enter username: ");
scanf("%s", input_username);
printf("Enter password: ");
scanf("%s", input_password);
// Authenticate user with string comparison
for (int i = 0; i < MAX_USERS; i++) {
if (strcmp(users[i].username, input_username) == 0) {
if (strcmp(users[i].password, input_password) == 0) {
printf("Login Successful!\n");
printf("Role: %s\n", users[i].role);
login_success = 1;
break;
}
}
}
if (!login_success) {
printf("Login Failed. Invalid username or password.\n");
}
return 0;
}
- Kompilieren Sie das Programm:
gcc password-manager.c -o password-manager
- Führen Sie das Programm aus:
./password-manager
Beispielinteraktionen:
=== Simple Password Management System ===
Enter username: admin
Enter password: admin123
Login Successful!
Role: administrator
Enter username: user
Enter password: wrongpassword
Login Failed. Invalid username or password.
Wichtige Punkte zu diesem realen Szenario:
- Verwendet
strcmp()
für eine sichere Prüfung von Anmeldeinformationen.
- Demonstriert die praktische Anwendung des Zeichenkettenvergleichs.
- Implementiert ein einfaches Authentifizierungssystem.
- Zeigt, wie mehrere Benutzeranmeldeinformationen verglichen werden können.