[C] Je m'y remets ça doit être tout con mais je pige pas...

Je m'y remets ça doit être tout con mais je pige pas... [C] - C++ - Programmation

Marsh Posté le 18-10-2002 à 14:00:33    

Code :
  1. int ren(char *path)
  2. {
  3. size_t size;
  4. char *newpath;
  5. size=strlen(path);
  6. newpath=malloc(size);
  7. strcpy(newpath,path);
  8. newpath[size-3]='\0';
  9. strcat(newpath,"php" );
  10. printf("%s\n",newpath);
  11. free(newpath);
  12. }

 
C'est juste une fonction de mon petit programme.
Voilà. gcc ne veut pas de mon malloc:  
assignement makes pointer from integer without a cast.

Reply

Marsh Posté le 18-10-2002 à 14:00:33   

Reply

Marsh Posté le 18-10-2002 à 14:16:07    

ça ira bcp mieux comme ça:

Code :
  1. newpath=(char*)malloc(size*sizeof(char));


 
de plus, pas besoin de rajouter le '\0', strcpy fait le boulot pour toi!


Message édité par YungMakko le 18-10-2002 à 14:17:01

---------------
In tartiflette, we trust!
Reply

Marsh Posté le 18-10-2002 à 14:17:37    

le \0 est bon, c'est pas en fin de chaine ;). Merci pour le (*char). A chaque fois que je m'y remets , je fais les même conneries. UN grand merci.

Reply

Marsh Posté le 18-10-2002 à 14:18:27    

et pour le sizeof dans mon cas il fera 1 donc no problemeo mêrme si c pas super propre :D

Reply

Marsh Posté le 18-10-2002 à 14:22:10    

belgique a écrit a écrit :

et pour le sizeof dans mon cas il fera 1 donc no problemeo mêrme si c pas super propre :D




 
Oui c'est juste une habitude à prendre; c'est comme mettre son clignotant quand on veut tourner mais qu'on est le seul sur la route; ça sert finalement à rien, mon on le met par habitude, comme ça on oublie jamais quand c'est necessaire!
 :D


---------------
In tartiflette, we trust!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed