Habituellement, j'utilise une définition pour la taille d'une chaîne, mais quand j'utilise scanf()
, je veux empêcher la fonction de lire trop de caractères (et réserver de l'espace pour la terminaison nulle). Je me demandais si je pouvais le faire en utilisant ma définir, au lieu d'un nombre magique ... hardcodedGarde scanf de lire trop de caractères avec une définition?
#include <stdio.h>
#define MAXLEN 4
int main(void) {
char a[MAXLEN];
scanf("%3s", a); // Can I do that with 'MAXLEN' somehow?
}
Est-il possible? Si oui, comment?
utilisation MAXLEN 3; puis définissez 'char a [MAXLEN + 1]' –
J'ai lié à la copie, mais pourquoi n'utilisez-vous pas 'fgets()' et 'sscanf()'? –
Je pourrais, mais je me demandais à propos de 'scanf()' @IharobAlAsimi, merci! – gsamaras