Je lis un fichier de dictionnaire ligne par ligne et je prends chaque ligne puis je la compare avec une chaîne. Mon problème est que je ne sais pas comment allouer dynamiquement une longueur de la chaîne sur chaque ligne pour supprimer les espaces. Je vais vous expliquer cela après avoir vu mon code:Lire un fichier de dictionnaire ligne par ligne prend des chaînes avec des tonnes d'espaces
FILE *f;
f = fopen("/usr/share/dict/words", "r");
if (f != NULL)
{
// maximum size of line, keep it at 128 just in case
char line[128] = "";
// run through every line of file
while (fgets(line, sizeof(line), f))
{
if (strcmp("hello", line) == 0)
printf("The string is %s!", line);
}
}
donc je dois initialiser la variable « ligne » de prendre la longueur maximale d'une ligne. C'est juste que si la ligne est plus petite que cette valeur de 128, cela ajoutera simplement des espaces à la fin, ce qui entraînera une comparaison invalide. Comment puis-je changer cela?
Alors, comment dois-je résoudre ce problème? Aussi, y a-t-il une meilleure façon d'utiliser le tampon? – Ray
Correction maintenant dans la réponse. Que voulez-vous dire par "meilleure façon"? La façon dont il est utilisé est bonne. –
Oh, d'accord. Je me demandais juste. – Ray