Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de la fonction system

2 réponses
Avatar
Jean Christophe Pacchiana
Bonjour,


Je veux traduite une fichier de connection CMD en C.

J'ai fait ce code :

[1]-- Debut --

int main()
{

char *logg = "ALBERTINE";
char *pass = "ALBERT";
char *rep_en_local = "w:";
char *rep_sauvegarde = "\\\\222.222.222.222\\HOME_SWEET_HOME";

printf("net use /delete %s\n", rep_en_local ) ;
system("net use /delete %s\n", rep_en_local ) ;
printf("net use %s %s /user:%s %s\n", rep_en_local, rep_sauvegarde, logg,
pass );
system("net use %s %s /user:%s %s\n", rep_en_local, rep_sauvegarde, logg,
pass );

return 0;
}

-- Fin --

J'obtiens cette réponce :

[2]-- Debut --

net use w: \\222.222.222.222\HOME_SWEET_HOME /user:Administrator
relaismercure
La syntaxe de cette commande est :


NET USE [nom de périph.|*] [\\Ordinateur\Partage[volume] [mot de passe | *]]
[/USER:[nom de domaine\]nom d'utilisateur]
[/USER:[nom de domaine avec points\]nom d'utilisateur]
[/USER:[nom d'utilisateur@nom de domaine avec points]
[[/DELETE] | [/PERSISTENT:{YES | NO}]]

NET USE [nom de périphérique | *] [mot de passe | *] [/HOME]

NET USE [/PERSISTENT:{YES | NO}]

-- Fin --

Bref ça marche pâs !


Mais si je compile et lance :

[3]-- Debut --

int main()
{
system("net use w: \\\\222.222.222.222\\HOME_SWEET_HOME /user:ALBERTINE
ALBERT");

return 0;
}

-- Fin --

ça marche nickel !

J'utilise Dev-C++ comme compilo et suis sous windows 2000.

Avez-vous une idée ?

Merci pour le coups de main !


Jean-Christophe

2 réponses

Avatar
K. Ahausse
"Jean Christophe Pacchiana" a écrit
dans le message de news:c82gj7$vjn$
Bonjour,


Je veux traduite une fichier de connection CMD en C.

J'ai fait ce code :

[1]-- Debut --

int main()
{

char *logg = "ALBERTINE";
char *pass = "ALBERT";
char *rep_en_local = "w:";
char *rep_sauvegarde = "\222.222.222.222HOME_SWEET_HOME";

printf("net use /delete %sn", rep_en_local ) ;
system("net use /delete %sn", rep_en_local ) ;


l'appel a la fonction system ne permet pas de passer qu'un seul argument.

printf("net use %s %s /user:%s %sn", rep_en_local, rep_sauvegarde, logg,
pass );
system("net use %s %s /user:%s %sn", rep_en_local, rep_sauvegarde, logg,
pass );

return 0;
}



int main()
{

char *logg = "ALBERTINE";
char *pass = "ALBERT";
char *rep_en_local = "w:";
char *rep_sauvegarde = "\222.222.222.222HOME_SWEET_HOME";
char Commande [80] ;

sprintf (Commande, "net use /delete %sn", rep_en_local ) ;
printf ( "%s", Commande ) ;
system Commande ) ;

sprintf (Commande, "net use %s %s /user:%s %sn", rep_en_local,
rep_sauvegarde, logg, pass );

printf ( "%s", Commande ) ;
system Commande ) ;

return 0;
}

Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', "Jean Christophe Pacchiana"
wrote:

int main()
{

char *logg = "ALBERTINE";
char *pass = "ALBERT";
char *rep_en_local = "w:";
char *rep_sauvegarde = "\222.222.222.222HOME_SWEET_HOME";

printf("net use /delete %sn", rep_en_local ) ;


Pour appeler printf(), il est obligatoire de fournir un prototype valide. Il
faut inclure <stdio.h>

system("net use /delete %sn", rep_en_local ) ;


Appel erroné. le prototype de 'system()' attend un paramètre (l'adresse d'une
chaine). Si le prototype avit été visible (comme les canons de la 'bonne
programmation' le recommandent) cette erreur aurait été détectée. Je suis
surpris que le compilateur ne dise rien...

Inclure <stdlib.h>

--
-ed- get my email here: http://marreduspam.com/ad672570
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?libÉ9
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/