64 votes

Comment lire une chaîne de caractères à partir du clavier en utilisant le C ?

Je veux lire une chaîne de caractères saisie par l'utilisateur. Je ne connais pas la longueur de cette chaîne. Comme il n'y a pas de chaîne de caractères en C, j'ai déclaré un pointeur :

char * word;

et utilisé scanf pour lire les entrées du clavier :

scanf("%s" , word) ;

mais j'ai un défaut de segmentation.

Comment puis-je lire une entrée du clavier en C lorsque la longueur est inconnue ?

0voto

Blue Phoenix Points 103

Le code suivant peut être utilisé pour lire la chaîne d'entrée d'un utilisateur. Mais son espace est limité à 64.

char word[64] = { '\0' };  //initialize all elements with '\0'
int i = 0;
while ((word[i] != '\n')&& (i<64))
{
    scanf_s("%c", &word[i++], 1);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X