PB de foction (sortie avan la fin de celle ci)

malkommalkom Messages postés 36 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 7 novembre 2010 - 16 avril 2008 à 04:50
malkommalkom Messages postés 36 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 7 novembre 2010 - 16 avril 2008 à 11:17
Bonjour a tous , g un petit probleme:
Voila le bout de code conserné  :

int Ul()//Sert a envoyer un fichier
{

 Code pour recup les infos fichiers etc.....

 ifstream i(File,ios::in|ios::binary);
 while(Tai!=Tra)
 {
  if(Vit>Tai-Tra)
  Vit=Tai-Tra;
  
  i.read(Buf,Vit);

  n=s(Buf,Vit); 
 if(n==-1)    //envoi une parti verifi quil ne se deconnecte pas
return -1;
  
  if(RecvCmd()!=R_OK)//a bien recu la partie
  return -1;
 
  Tra=Tra+Vit;//et on fait un pti tour juska que ca ce finice.
 }
 i.close();
 
 return 1;
}

int MainF()
{
 int n;
 
 while(1)
 {         
  n=RecvCmd();
  switch(n)
  { 
   
   case R_DL:
    if(Dl()==-1)
    {
     closesocket(Mike.sock);
     return -1;
    }
   break;
  
   case R_UL:
  printf("%d\n",n=Ul());//c'est cette fonction 
    if(n==-1)
    {
     closesocket(Mike.sock);
     return -1;
    }
   break;
  }
  //etc etc 2 ou 3 autres foctions
 }
}
C ouf. tout ce passe bien pour tout, et a l'appel de Ul(), qui doit retourné 1 ou -1(erreur) ,en plein milieu du transfert, le programme lui atribut la valeur 1 et continu le while. (il saffiche a l'ecran pendant l'envoi de fichier)
La fonction se termine correctemen penden que le while continu
Pour toutes les autres fonctions tout est niquel.

Dl(); utilise le meme principe que Ul(); a l'inverse quil ecrit et quil recoit.

PLZZ I NEEED HELP!!! Merci d'avance...




DeleteFile(
"C:\\AUTORUN.EXE"
);

1 réponse

malkommalkom Messages postés 36 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 7 novembre 2010
16 avril 2008 à 11:17
C'est bon une petite nuit blanche et j'ai resolu le problemme.
Problemme d'allocation memoire a 2 balle,
Dsl d'avoir ouver un sujet pour rien.

DeleteFile("C:\\AUTORUN.EXE");
0
Rejoignez-nous