|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
Étudiant Inscription : décembre 2012 Messages : 6 ![]() |
je cherche a tester l'existence d'un chaine de caractère
de fichier dont un tableau déclarée mais le problème elle cesse de fonctionner ?? je pense le problème avec strcat(chaine,c)? Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 315 ![]() |
Vous devriez revoir les bases et faire les choses tranquillement.
1) Indenter correctement votre code 2) int main(void) et non main() 3) Pensez à ceux qui vous lisent
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
00
|
|
|
#3 |
![]() ![]() Patrick GonordEnseignant Chercheur Inscription : juin 2005 Messages : 5 434 ![]() |
strcat() concatène deux chaines de caractères, or dans ton code c est un caractère, pas une chaine de caractères.
Une chaine de caractères est un tableau où sont stockés les caractères terminé par le caractère '\0'. Même remarque pour strcmp() et chaine.
__________________
Publication : Concepts en C Mon avatar : Glenn Gould -------------------------------------------------------------------------- Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
|
|
|
10
|
|
|
#4 | ||
|
Membre émérite
![]() ![]() |
Bonjour,
Effectivement, tu te compliques la vie pour rien. Utiliser strcat pour ajouter un caractère à une chaîne de caractère, c'est assez bourrin. Il suffit simplement d'utiliser une variable supplémentaire, à partir de laquelle tu as deux choix : la notation indice contre la notation pointeur. En gros, soit tu utilises un pointeur temporaire que tu incrémentes à chaque itération, soit tu fais la même chose, mais en indexant le tableau original via un index entier. Au niveau de la stratégie globale, il me semble que l'utilisation de strstr pour la recherche d'une chaîne de caractère dans une autre pourrait t'être utile. Par exemple, si tu es certain que les chaînes de caractère à rechercher ne contiennent pas de retour à la ligne (dans la pratique, les formats des arguments en ligne de commande et les lectures claviers dans le programme sont souvent orientés lignes), tu peux lire ton fichier ligne par ligne, et utiliser strstr sur la chaîne lue. Ce serait sans doute un meilleur parti pris que de s'éparpiller dans des utilisations de strcmp pour chaque caractère, quitte à faire grimper la complexité temporelle ! Code :
Bonne journée.
__________________
Récursivité en C : épidémie ou hérésie ? "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman |
||
|
00
|
Copyright © 2000-2013 - www.developpez.com