Concaténer un char à un char* (language C)
Résolu/Fermé
A voir également:
- Java char concatenation
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Waptrick jeux pes 2016 java - Forum logiciel systeme
6 réponses
J'ai essayé:
sprintf(tableauConnections[i].nomConnecteur, "%s%c", tableauConnections[i].nomConnecteur, carac);
mais ca rempli mon tableau de (null).
sprintf(tableauConnections[i].nomConnecteur, "%s%c", tableauConnections[i].nomConnecteur, carac);
mais ca rempli mon tableau de (null).
C'est bon j'ai trouvé le bouton.
en fait vu que quand je met le lien il me met ... apres
http://www.commentcamarche.net/
sans que tu puisses cliqué dessus, je l'ai mis en 2 parties
donc ca commence par
http://www.commentcamarche.net/
et ca fini par
forum/affich-21820059-probleme-de-logique-algorithmique-language-c
Ne t'inquietes pas j'ai confiance en toi =)
en fait vu que quand je met le lien il me met ... apres
http://www.commentcamarche.net/
sans que tu puisses cliqué dessus, je l'ai mis en 2 parties
donc ca commence par
http://www.commentcamarche.net/
et ca fini par
forum/affich-21820059-probleme-de-logique-algorithmique-language-c
Ne t'inquietes pas j'ai confiance en toi =)
Bonjour
C'est normal que ça ne marche pas. Tu n'as aucune chaîne nulle part dans ton programme, aucun endroit pour stocker tes caractères. Tu n'as que des pointeurs.
Quand tu fais tableauConnections[i].contact = tableauConnections[i].contact + carac;, tu ajoutes quelques chose au pointeur, c'est à dire qu'au lieu de pointer à l'adresse 0 il se met à pointer à l'adresse 32 si tu as tapé un espace (code ASCII 32).
Deux méhodes parmi d'autres :
Tu définis ta structure avec des vraies chaînes ( char [xx] au lieu de char * ) et tu fais tableauConnections[i].contact[j]=carac avec j comptant les caractères. Mais tu risques de gaspiller beaucoup de mémoire en réservant toujours la place maximum et il faut faire attention à ne pas écrire au delà de la fin de la place réservée
Ou bien tu alloues la mémoire dynamiquement avec malloc, mais il faut maîtriser les pointeurs.
C'est normal que ça ne marche pas. Tu n'as aucune chaîne nulle part dans ton programme, aucun endroit pour stocker tes caractères. Tu n'as que des pointeurs.
Quand tu fais tableauConnections[i].contact = tableauConnections[i].contact + carac;, tu ajoutes quelques chose au pointeur, c'est à dire qu'au lieu de pointer à l'adresse 0 il se met à pointer à l'adresse 32 si tu as tapé un espace (code ASCII 32).
Deux méhodes parmi d'autres :
Tu définis ta structure avec des vraies chaînes ( char [xx] au lieu de char * ) et tu fais tableauConnections[i].contact[j]=carac avec j comptant les caractères. Mais tu risques de gaspiller beaucoup de mémoire en réservant toujours la place maximum et il faut faire attention à ne pas écrire au delà de la fin de la place réservée
Ou bien tu alloues la mémoire dynamiquement avec malloc, mais il faut maîtriser les pointeurs.
Ok ca marche ! Merci beacoup et merci encore une fois parce que tu m'as expliqué en plus.
Dis moi, je sais que ca peut parraitre abusif, mais pourrais-tu (vu que tu t'es penché sur mon problème) compléter ton aide en te penchant sur l'autre problème que j'ai?(tu peux refuser bien sur)
http://www.commentcamarche.net/
forum/affich-21821820-concatener-un-char-a-un-char-language-c#newanswer
Et peux-tu me dire comment mettre [résolu] en format correcte sur ce forum?
Merci beaucoup.
Sheeps.
Dis moi, je sais que ca peut parraitre abusif, mais pourrais-tu (vu que tu t'es penché sur mon problème) compléter ton aide en te penchant sur l'autre problème que j'ai?(tu peux refuser bien sur)
http://www.commentcamarche.net/
forum/affich-21821820-concatener-un-char-a-un-char-language-c#newanswer
Et peux-tu me dire comment mettre [résolu] en format correcte sur ce forum?
Merci beaucoup.
Sheeps.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question