Bonjour,

Je suis en train d'utiliser la fonction "execvp" mais je me trouve face à un warning qui me donne du fil à retordre.

J'ai le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
char *const argv[] = { "/bin/sleep", "20", mullptr};
execv(argv[0], argv);
Si je compile mon code avec std=c++11, je me retrouve avec le warning suivant :
ISO C++ forbids converting a string constant to ‘char*’
Une solution est d'utiliser la fonction "strdup" mais ce n'est pas très "beau". De plus, qui fait un free de la mémoire.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
char *const argv[] = { strdup("/bin/sleep"), strdup("20"), mullptr};
execv(argv[0], argv);
Avez-vous une petite astuce pour éviter ce warning et rendre l'écriture du code plus simple.

Merci d'avance