On 07/11/2018 02:55 PM, nicolas.pec...@laposte.net wrote:
Bonjour,
J'essaye de programmer un petit logiciel. Je veux que ce dernier créer
un répertoire dans le home de l'utilisateur.
Malheureusement, le "~/" ne semble pas fonctionner
mkdir("~/toto");
Oui, le ~ est expansé par le shell. Dans ton programme il faut faire
l'expansion equivalente (voir glob(7)
<http://man7.org/linux/man-pages/man7/glob.7.html>), par exemple:
char *path = NULL;
char* home = getenv("HOME");
if (!home) exit(EXIT_FAILURE);
if (asprintf(&path, "%s/toto", home) < 0) exit(EXIT_FAILURE);
if (mkdir (path, 0750)) { perror(path); exit(EXIT_FAILURE); }
Cordialement
--
Basile STARYNKEVITCH == http://starynkevitch.net/Basile
opinions are mine only - les opinions sont seulement miennes
Bourg La Reine, France