CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[c] utilisation de execve ( assert)

canaille0400
canaille0400
Niveau 10
09 janvier 2017 à 15:30:55

je comprend pas à quoi sert exactement assert.h, pouriez-vous m'éclairez rapidement svp [[sticker:p/1kkr]]

j'essaye juste pour l'instant d'executer un programme avec ca mais ca me met permision denied!!!!

int main(int argc, char *argv[])
{
char *newargv[] = { NULL, "hello", "world", NULL };
char *newenviron[] = { NULL };

assert(argc == 2); /* argv[1] identifie le
programme à exécuter */
newargv[0] = argv[1];

execve(argv[1], newargv, newenviron);
perror("execve"); /* execve() ne retourne qu'en cas d'erreur */
exit(EXIT_FAILURE);
}

Candystand
Candystand
Niveau 10
09 janvier 2017 à 17:41:48

assert permet de vérifier que la condition donnée en paramètre renvoie true. Si ce n'est pas le cas, le programme s'arrête

Azmurael
Azmurael
Niveau 10
09 janvier 2017 à 20:41:27

Dans ton assert arrête ton programme si tu ne l'a pas lancé avec 1 argument (argc, c'est la longueur du tableau argv contenant les arguments de la ligne de commande). S'il est égal à 2, c'est que tu as appelé ton programme avec 1 argument.
argv[0] = nom du programme argv[1] = premier argument

Pour le permission denied, essaie de lancer le programme en tant que root.

Utilise les balises "<code>" pour ton code la prochaine fois.

Message édité le 09 janvier 2017 à 20:42:41 par Azmurael
Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment