compiler et exécuter un programme c avec l'argument
Je suis nouveau dans le programme C et linux, comment peut-on compiler et exécuter ce programme?
J'ai essayé gcc example.c
puis ./a.out
mais il donne une erreur comme input file cannot be opened
( j'ai écrit cette erreur dans la méthode de lecture)
//example.c
int main(int argc, char *argv[])
{
char* input = argv[1];
read(input);
char* output = argv[2];
write(output);
return 0;
}
Grâce.
- Si vous avez réussi à l'exécuter, puis la compilation a réussi. S'il vous plaît ajouter plus d'informations sur les méthodes read et write. Aussi, vous devez passer deux arguments sur la ligne de commande:
./a.out FILE1 FILE2
. - Vraiment, vous devez compiler avec
gcc -std=gnu99 -Wall -g example.c -o myprog
, améliorer votre code jusqu'à ce que vous obtenir plus d'avertissements, puis exécutez./myprog
et apprendre à utiliser legdb
débogueur
Vous devez vous connecter pour publier un commentaire.
Votre programme ne fonctionnera pas très bien - vous n'êtes pas fournir assez d'arguments pour
read
etwrite
, par exemple (en supposant que vous voulez être l'appel POSIXread(2)
etwrite(2)
, qui est).Pour répondre à votre question, le problème semble être que vous n'êtes pas fournir d'arguments. Vous devez l'exécuter quelque chose comme:
remplacement
FILE1
avec le nom de votre fichier d'entrée etFILE2
avec le nom de votre fichier de sortie.Il y a plusieurs choses mal ici, y compris l'utilisation incorrecte de "read()" et "write()".
SUGGESTION:
1) Essayez ceci:
Tout d'abord read() et write() sont les 3 arguments(une seule donnée).
Deuxièmement, elle doit être utilisée comme ceci:
Troisièmement, une.doit être invoquée comme ceci:
#include <unistd.h>
. Voir lire