Je suis assez nouveau pour utiliser les commandes shell. Je fais une application de débogage dans php.J'ai besoin de vérifier le résultat des fichiers .exe pour vérifier si la logique du code est Alors j'ai essayé un programme de test.Impossible de passer des arguments dans la fonction shell_exec
Le programme C est
comprennent
#define MAX 128
int main(char c)
{
const int max=127;
char array[max]; // char array[10];
char string[MAX];
scanf("%c",&c);
array[0] = string[0] = c;
printf("%c %c\n", array[0], string[0]);
return 0;
}
Ceci est compilé comme se.exe
PHP CODE
<?php
define('STDIN',fopen("php://stdin","r"));
$cor1=1;
$op=shell_exec("se.exe H");
echo($op);
if($op=="H H")
$cor1+=1;
echo $cor1;
if($cor1>1)
{echo "PASSED";}
else
{echo "FAILED";}
?>
Cela ne fait l'écho des valeurs.
Merci pour la réponse. J'ai essayé d'utiliser des arguments de ligne de commande et j'ai même essayé de les exécuter dans l'invite de commande en utilisant des arguments. Cela n'a pas fonctionné aussi bien. –
#include #include int principal (int argc, char * argv) { int rad = argv [1]; printf ("% c", rad); return 1; } @Code Warrior –
le code ci-dessus lorsqu'il est exécuté à partir de l'invite de commande ou de la fonction exec php imprime la même sortie, quel que soit l'argument. La sortie retournée est/.juste cette barre oblique. –