Erreur: incompatible types assignement en C
Fermé
groomer
Messages postés
49
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
29 janvier 2009
-
18 nov. 2008 à 22:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 nov. 2008 à 23:21
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 nov. 2008 à 23:21
A voir également:
- Erreur: incompatible types assignement en C
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
- Erreur g030 - Forum Bbox Bouygues
2 réponses
Droopy_
Messages postés
248
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
17 janvier 2009
25
18 nov. 2008 à 23:08
18 nov. 2008 à 23:08
Bonjour,
Non, tu mets un pointeur dans un tableau
(un char* dans un char [51])
Il faut utiliser la fonction strncpy (pas strcpy elle peut déborder)
strncpy(t.nom, nomSaisi, 51);
cela copie la chaine de caracteres de nomSaisi dans t.nom
Non, tu mets un pointeur dans un tableau
(un char* dans un char [51])
Il faut utiliser la fonction strncpy (pas strcpy elle peut déborder)
strncpy(t.nom, nomSaisi, 51);
cela copie la chaine de caracteres de nomSaisi dans t.nom
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
18 nov. 2008 à 23:21
18 nov. 2008 à 23:21
+1 pour Droopy_.
Je rajouterai également qu'avec : scanf("%c",nomSaisi)</ital tu rajouterais qu'un caractère. C'est pas ce que tu veux (enfin je pense ^^).
Utilise plutôt : <ital>fgets(nomSaisi,sizeof nomSaisi,stdin ;)
Par ailleurs, c'est dommage de gaspiller deux tableaux pour ça. Tu peux très bien faire fgets(t.nomSaisi, sizeof(t.nomSaisi),stdin); ;)
Cdlt
Je rajouterai également qu'avec : scanf("%c",nomSaisi)</ital tu rajouterais qu'un caractère. C'est pas ce que tu veux (enfin je pense ^^).
Utilise plutôt : <ital>fgets(nomSaisi,sizeof nomSaisi,stdin ;)
Par ailleurs, c'est dommage de gaspiller deux tableaux pour ça. Tu peux très bien faire fgets(t.nomSaisi, sizeof(t.nomSaisi),stdin); ;)
Cdlt