begin process at 2012 05 29 03:46:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Système

 > 

Autre

 > 

gets() marche plus apres fermeture de thread


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

gets() marche plus apres fermeture de thread

mardi 21 avril 2009 à 16:01:43 | gets() marche plus apres fermeture de thread

dyroj

bonjour,

est-il normale que fgets() block quand on lapele plus dune foi,

//envoi en mode tcp

WINAPI Tsend_ms_t(LPVOID lpvoid)

{

char buffer[1024];

inf = 1;

while (inf)

{

memset(buffer,0,

sizeof (buffer)); //efface le buffer

fgets(buffer,

sizeof (buffer), stdin);

if (send(client, buffer, Ssize(buffer), 0) <= 0)

inf = 0;

}

}

pour lapeler :

Hsend = CreateThread(NULL, 0, Tsend_ms_t, NULL, 0, &idt);


et pour le quitter :

TerminateThread(Hsend, 0);

CloseHandle(Hsend);


et je ne peut pas lapeler plus dune foi sinon il recupere plus de caractaire
++

mercredi 22 avril 2009 à 14:34:59 | Re : gets() marche plus apres fermeture de thread

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Aucun souci avec le code suivant sous VC6 :

#include <windows.h>
#include <iostream>
#include <stdio.h>

using namespace std;

int inf;

DWORD __stdcall Tsend_ms_t(LPVOID lpvoid)
{
  char buffer[1024];

  while (1)
  {
    memset(buffer,0, sizeof (buffer));
    fgets(buffer, sizeof (buffer), stdin);
    printf(buffer);
  }

  return 0;
}

int main()
{
  HANDLE Hsend;
  int i;

  for (i = 0; i < 2; i++)
  {
    printf("\n=========== Thread %d ================\n", i + 1);


    Hsend = CreateThread(NULL, 0, Tsend_ms_t, NULL, 0, NULL);

    Sleep(10000);

    TerminateThread(Hsend, 0);
 
    CloseHandle(Hsend);
  }

  return 0;
}


mercredi 22 avril 2009 à 14:50:30 | Re : gets() marche plus apres fermeture de thread

dyroj

et bah moi je vien dessayer le meme code que toi sous vc++ 2008 et sa marche pas.
a la 1ere thread je peut ecrir.
a la 2 eme plus rien c en attente c tou.
a ton avi ca vien de vc2008
on ma dis que la fonction fflush () pourai maider mais je ne voi pas comment?
merci sinon de ton aide ++
mercredi 22 avril 2009 à 15:03:10 | Re : gets() marche plus apres fermeture de thread

rt15

Membre Club Administrateur CodeS-SourceS
Peut être un problème de CRT/Thread. Regarde ces options de compilation.
mercredi 22 avril 2009 à 15:14:44 | Re : gets() marche plus apres fermeture de thread

dyroj

je vien desayer le code sous dev cpp et il marche toujour pas
c bizare que chez toi sa marche.
ton code tu c du c++?
car moi c du C.
peut etre que sa un raport
mercredi 22 avril 2009 à 15:53:50 | Re : gets() marche plus apres fermeture de thread

rt15

Membre Club Administrateur CodeS-SourceS
Marche aussi en C sous VC6. Marche effectivement pas sous gcc...

Peut être que c'est ça le problème. Mais les fonctions ne sont pas dispo sous windows, même avec du pthread pour win32.

ReadConsole ?


Cette discussion est classée dans : buffer, marche, inf, gets, hsend


Répondre à ce message

Sujets en rapport avec ce message

Programme Crasher [ par Kephren ] Salut, je viens demander de l'aide à propos de mon programme. En fait il marche très bien mais depuis que j'ai rajoutée du code, une fois compilé, je remplacer une lettre par une autre [ par shadow1779 ] bonjour,j'vai prendre un exemple simple pour illustrer mon programme,je fais un gets(buffer); et ensuite un printf("%s",buffer); admettons que j'ai ta OpenGL : les vertex buffer ca marche comment ? [ par eplanet ] Bonjour à tous, je voudrais me mettre aux vertex buffer pour optimiser un programme en openGL, seulement, lorsque j'écris la ligne :        glBindBuff fermer une thread qui est en attente fgets() en c sous windXP [ par dyroj ] Bonjour a tous,je n'arrive pas fermer une thread qui est en attende avec la fonction fgets(),thread a quitter :DWORD WINAPI Tsend_ms_t(LPVOID lpvoid){ Cryptage-Cesar [ par TrD_ ] Bon je viens en dernier recours, je tente de créer une librarie de cryptage mais évidement sa ne marche pas !//beginif((buffer[i] >= 'A') && (buffer[i WSAStartup qui marche pas [ par SergentP ] Salut,Je passe pas par quatres chemin : mon WSAStartup marche pas, il ne me renvoi pas la valuer 0. Du coup y a rien qui marche :---int err;WSADATA WS Problème lors de la récéption de données en HTTP [ par Fran6web ] Bonjour,Je suis en train de me faire un programme en C qui me récupère le contenu d'un page envoyé par protocole HTTP.J'ai cependant un p'tit problème executable independant de VS2005 [ par LaTatadu91 ] Bonjour,J'ai un problème avec un executable d'un programme dév sous VS2005 en C++. j'ai bien créé mon exe en mode release et cet executable marche par Modelisation en C++ d`un robot mobile [ par holako84 ] SVP Aidez moi a faire la modelisation en C ou C++ d`un robot mobile (soit disant une petite voiture ) qui fera le cycle suivant :- marche avant - dete langage C [ par wafa_mef ] merci de me considerer un membre de ce club et j' ai le plaisir de participer avec vous .merci pour les codes sources envoyés. j'ai écrit un programme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales