Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1664 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C] probleme structure et pointeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] probleme structure et pointeur

n°141149
apolon34
Vive Linux!!
Posté le 20-05-2002 à 04:22:57  profilanswer
 

Salut,
 
J'essaie de realiser un programme en c et je me heurte a un probleme:
 
j'ai une structure config comme ceci:
 
struct conf_plugin {
gchar chemin_temp[255];
etc
}
struct conf_plugin config;
 
Le probleme est avec la fonction:
 
gchar* gtk_file_selection_get_filename(blaba)
 
je voudrais faire quelque chose du genre:
config.cheminètemp = gtk_file_selection_filename(etc)
 
mais le compilo me dis: incompatible types in assignment
 
 
Comment je peux faire ?

mood
Publicité
Posté le 20-05-2002 à 04:22:57  profilanswer
 

n°141153
karlkox
Posté le 20-05-2002 à 08:01:52  profilanswer
 

char *name;
   
   name = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data));
   strcpy(config.chemin_temp, name);
 
Mais la tu as un débordement de tampons, je verrais donc plus  
struct conf_plugin {
gchar *chemin_temp;
etc
}
 
   char *name;
   
   name = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data));
   config.chemin_temp = malloc(strlen(name)+1);
   strcpy(config.chemin_temp, name);
 
Regarde les fonctions de la Glib, tu as pas mal de fonction qui aide bien ;)

n°141154
apolon34
Vive Linux!!
Posté le 20-05-2002 à 08:09:29  profilanswer
 

la premiere methode marche nikel !!!
 
 
merci beaucoup!!
 
PS: je voulais pas essayer la seconde car je me sers de ma variable a beaucoup d'autres endroits, sans avoir besoin de l'indirection
 
une derniere question, puisque tu as l'air cale:
 
c'est un probleme du compilo ou c'est moi qui ai pas tout compris ?

n°141208
LeGreg
Posté le 20-05-2002 à 12:37:10  profilanswer
 

apolon34 a écrit a écrit :

 
c'est un probleme du compilo ou c'est moi qui ai pas tout compris ?  




 
c'est toi qui n'as pas tout compris (enfin c'est toi qui demandais :) )
En fait, ton probleme c'est les chaines de caracteres en C.
Une chaine n'est pas un type en C, tu n'as que des pointeurs et des tableaux, donc il faut faire ce que tu veux faire (assignement de chaine) de maniere détournée ou en passant par les fonctions de librairie (strncpy, _strncpy)
 
A+
LEGREG

n°141252
Tomate
Posté le 20-05-2002 à 15:44:06  profilanswer
 

en gros un tableau et un pointeur ne sont pas du meme type (meme si c est pas tout a fait vrai)
le compilo t empeche de faire tab = pointeur, pour eviter que tu fasses des conneries apres, c est tout!!
 
le compilo est ton ami, c est lui qui te previent si ce que tu fais est dangereux ou pas, voila!

 

[jfdsdjhfuetppo]--Message édité par tomate77 le 20-05-2002 à 15:44:25--[/jfdsdjhfuetppo]

n°141347
LeGreg
Posté le 20-05-2002 à 19:44:05  profilanswer
 

Citation :

le compilo est ton ami, c est lui qui te previent si ce que tu fais est dangereux ou pas, voila!


 
Pas tout a fait, il previent quand tu fais une TRES grosse connerie (qui va a l'encontre des regles d'ecriture du C).
Mais je te rassure en C, tu peux tout a fait ecrire du code
pourri sans que ton compilo gueule quoi que ce soit :D.
 
De plus, ta justification est inexacte: il ne gueule pas parce que tableau et pointeur ne sont pas du meme type
mais tout simplement parce que chemin_temp n'est pas une l-value.
(une variable qu'on ne peut pas reassigner)
 
D'ailleurs il est tout a fait légal de faire:

Code :
  1. char toto[255];
  2. char *tata = toto; // c'est valide


L'inverse n'est pas vrai pour la raison evoquée ci dessus
(toto n'est pas une l-value).

 

[jfdsdjhfuetppo]--Message édité par legreg le 20-05-2002 à 19:45:32--[/jfdsdjhfuetppo]

n°141350
apolon34
Vive Linux!!
Posté le 20-05-2002 à 19:52:31  profilanswer
 

Okai, merci de vos explications a tous !!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C] probleme structure et pointeur

 

Sujets relatifs
[java]probleme avec les icone[oracle] probleme avec developper 2000
Problème sous Access !!![PHP] Probleme dans ligne de code
[PHP] probleme de syntaxe[Javascript] Problème avec un formulaire !!!
[MySQL] : problème lors du téléchargement d'une base en ligneProblème de registration de OCX !
Probleme de bug avec le script S.A.[Apache 2.0.36 + Windows 2000 Server] Problème avec les .htaccess
Plus de sujets relatifs à : [C] probleme structure et pointeur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR