Ich frage mich, wie würden Sie gehen, Validierung von Benutzereingaben in c, ich brauche den Benutzer Koordinaten eingeben, eine ganze Zahl von (1-8) getrennt durch eine andere ganze Zahl von (1-8), zB "1,1". Ich fragte mich, ob ich dies entweder mit strtok() oder strtol() tun könnte?Wie validiere ich Benutzereingaben in c?
-2
A
Antwort
1
Wenn das Eingabeformat festgelegt ist, ist es viel einfacher fgets()
zu verwenden, um eine Eingabezeile zu bekommen und dann sscanf()
die Eingabe zu analysieren als strtok()
und strtol()
zu verwenden.
Hier ist ein Beispiel, das bestätigt, dass der Benutzer zwei Ganzzahlen im Bereich [1, 8] eingibt. Wenn der Benutzer weniger als zwei Werte eingibt oder wenn die Werte außerhalb des Bereichs liegen oder wenn nach den akzeptierten Werten eine zusätzliche Eingabe erfolgt, wird der Benutzer aufgefordert, ein anderes Koordinatenpaar einzugeben.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char buffer[100];
int x, y;
/* sscanf() method: input must be comma-separated, with optional spaces */
printf("Enter a pair of coordinates (x, y): ");
if (fgets(buffer, sizeof buffer, stdin) == NULL) {
perror("Input error");
exit(EXIT_FAILURE);
}
int ret_val;
char end;
while ((ret_val = sscanf(buffer, "%d , %d%c", &x, &y, &end)) != 3
|| x < 1
|| x > 8
|| y < 1
|| y > 8
|| end != '\n') {
printf("Please enter two coordinates (x, y) in the range [1, 8]: ");
if (fgets(buffer, sizeof buffer, stdin) == NULL) {
perror("Input error");
exit(EXIT_FAILURE);
}
}
printf("You entered (%d, %d).\n", x, y);
return 0;
}
Verwandte Themen
- 1. Validiere Benutzereingaben gegen servergenerierte Daten
- 2. Wie validiere ich mit Datenanotation in C#?
- 3. Wie validiere ich numerische Eingabe C++
- 4. Wie validiere ich Importfunktionen?
- 5. Wie validiere ich?
- 6. Wie validiere ich DRY?
- 7. Wie validiere ich Router Parameter?
- 8. Wie validiere ich Python-Bytecode?
- 9. Wie validiere ich den Hostnamen \ Domainname in Linux - C++
- 10. Wie validiere ich Daten aus verschiedenen Dateien in C#
- 11. Wie validiere ich ein Formular ReCaptcha in MVC C#
- 12. Wie validiere ich ein TextField in Ziel C (ios)
- 13. Wie validiere ich eine Oracle-Abfragezeichenfolge in C# -Code?
- 14. Wie validiere ich ein eCheck in Authorize.net
- 15. Wie verfolge ich Benutzereingaben in der C# -Konsolenanwendung?
- 16. Wie validiere ich JRadioButtons in Eclipse (JSwing)?
- 17. Wie konvertiere ich Benutzereingaben in eine Liste?
- 18. Wie übersetze ich Benutzereingaben in Variablenäquivalente?
- 19. Wie validiere ich QuickBooks Verbindung?
- 20. Wie validiere ich ein JTextField?
- 21. Wie validiere ich die Daten
- 22. Wie validiere ich ein JTextField?
- 23. Wie validiere ich RestTemplate Response?
- 24. Wie validiere ich POCO-Objekt
- 25. Wie validiere ich PasswordBox WPF
- 26. Wie validiere ich XML gegen XSD-Schema nonamespacelocation C#
- 27. Wie validiere ich mit jquery?
- 28. Wie validiere ich OAuth-Anfragen?
- 29. Wie validiere ich mehrere Bilder?
- 30. Wie validiere ich eine Postleitzahl?
Vielen Dank –