Problème avec la fontion int system(char*)
BloodyAngel
Messages postés
1605
Statut
Contributeur
-
BloodyAngel Messages postés 1605 Statut Contributeur -
BloodyAngel Messages postés 1605 Statut Contributeur -
Hello :)
J'ai un petit problème à vous soumettre si vous voulez bien... vous voulez bien ? miciiiiiii ^^
Alors voilà :
je suis en train d'écrire un programme très simple en langage C de façons à gérer les net send.
Dans mon code je fais appel à la fonction int system(char*)
exemple : num=system("net send xxxxx hello");
En fait, dans mon code, une ligne de commande comme celle de l'exemple marche très bien au début. Mais si je réécris la même ensuite ça ne va pas du tout.
Ce qui se passe, c'est que je le fais une fois et ça marche, puis je fais une série de strcpy bien innocents (je copie juste des chaîne de caractères dans des variables char). Ensuite je refais un appel system(...) exactement comme l'autre, et là plus rien... et ce jusqu'à la fin du programme :(
Après bien des efforts, j'ai récupéré le code d'erreur 2 dans la variable errno... et encore je ne suis sûr de rien.
Voilà, si quelqu'un a une idée je lui serais très reconnaissant :)
Merci d'avance
J'ai un petit problème à vous soumettre si vous voulez bien... vous voulez bien ? miciiiiiii ^^
Alors voilà :
je suis en train d'écrire un programme très simple en langage C de façons à gérer les net send.
Dans mon code je fais appel à la fonction int system(char*)
exemple : num=system("net send xxxxx hello");
En fait, dans mon code, une ligne de commande comme celle de l'exemple marche très bien au début. Mais si je réécris la même ensuite ça ne va pas du tout.
Ce qui se passe, c'est que je le fais une fois et ça marche, puis je fais une série de strcpy bien innocents (je copie juste des chaîne de caractères dans des variables char). Ensuite je refais un appel system(...) exactement comme l'autre, et là plus rien... et ce jusqu'à la fin du programme :(
Après bien des efforts, j'ai récupéré le code d'erreur 2 dans la variable errno... et encore je ne suis sûr de rien.
Voilà, si quelqu'un a une idée je lui serais très reconnaissant :)
Merci d'avance
A voir également:
- Problème avec la fontion int system(char*)
- Reboot system now - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- System fan 90b - Forum Matériel & Système
- Hns-accessible-system-folder ✓ - Forum Virus
- Advanced system care - Télécharger - Optimisation
4 réponses
Salut
Je n'ai pas tout compris, mais je pense à deux choses :
affiche les chaines à l'écran avant de les envoyer vers system pour vérifier qu'elles sont bien comme tu souhaite.
il y a peu être avec net send une certaine latence avant de pouvoir en envoyer un autre.
Je n'ai pas tout compris, mais je pense à deux choses :
affiche les chaines à l'écran avant de les envoyer vers system pour vérifier qu'elles sont bien comme tu souhaite.
il y a peu être avec net send une certaine latence avant de pouvoir en envoyer un autre.
En fait j'ai résolu ce problème... sans trop comprendre sa raison.
Bizarrement, c'était l'instruction de copie strcpy qui posait problème et empêchait les net send qui suivaient. Pareil pour sprintf. Donc j'ai entré mes données lors de l'initialisation du tableau de char. C'est laborieux et peu esthétique mais ça marche et ça ne gâche rien au niveau performances du programme...
J'ai un autre problème actuellement... J'ai des collègues qui ne peuvent pas envoyer des net sends avec mon programme à certains utilisateurs alors que moi je peux. Pourtant mon programme ne dépend pas de son utilisateur et on est tous sur les mêmes configurations machines, même serveur etc.
Bizarrement, c'était l'instruction de copie strcpy qui posait problème et empêchait les net send qui suivaient. Pareil pour sprintf. Donc j'ai entré mes données lors de l'initialisation du tableau de char. C'est laborieux et peu esthétique mais ça marche et ça ne gâche rien au niveau performances du programme...
J'ai un autre problème actuellement... J'ai des collègues qui ne peuvent pas envoyer des net sends avec mon programme à certains utilisateurs alors que moi je peux. Pourtant mon programme ne dépend pas de son utilisateur et on est tous sur les mêmes configurations machines, même serveur etc.
Il faut que le service "net" soit lancé sur la machine destinataire et qu'elle n'ait pas de firewall pour qu'un net send fonctionne.
Euh pourquoi tu ne mets pas plutôt un système de messagerie instantanée en place au fait (irc, jabber) plutôt que d'utiliser des net send ?
Euh pourquoi tu ne mets pas plutôt un système de messagerie instantanée en place au fait (irc, jabber) plutôt que d'utiliser des net send ?
Eh bien en fait, les net send fonctionnent toujours lorsqu'il sont lancés directement par commande. C'est lorsqu'ils sont appelés par mon programme qu'ils ne marchent pas toujours. Pourtant avant de lancer le net send, j'affiche la commande que je transmet à la fonction system() et c'est correct.
Et la raison pour laquelle je n'utilise pas de système de messagerie, c'est que c'est interdit par la société où je travaille :p
Et la raison pour laquelle je n'utilise pas de système de messagerie, c'est que c'est interdit par la société où je travaille :p