J'essaie d'écrire sur stdout en utilisant uniquement les appels système Linux décrits dans la section 2 du manuel (http://man7.org/linux/man-pages/dir_section_2.html).Utilisation des spécificateurs de format sur l'appel système Linux write()
ssize_t write(int fd, const void *buf, size_t count);
est la fonction que j'essaie d'utiliser, mais j'essaie d'incorporer des spécificateurs de format dans le tampon. Idéalement, cela fonctionnerait comme suit:
char *adjective = argv[1];
write(1, "This is a %s example\n", adjective, 19 + strlen(adjective));
Mais je ne peux évidemment pas le faire. Comment pourrais-je faire quelque chose de similaire?
Aussi, je sais que strlen() ne fait pas partie de la section 2 des appels système Linux. Je l'inclut pour la simplicité puisque compter la longueur du tampon ne fait pas partie de ma question.
Malheureusement pour cette tâche, je ne peux pas utiliser snprintf() car il ne figure pas dans la section 2 du manuel de Linux. – adhdj
Ensuite, vous ne pouvez pas utiliser les spécificateurs de format, ils font partie de la famille de fonctions 'printf()'. – Barmar
Gotcha! Je commençais à soupçonner que je ne pouvais pas le faire. Je vous remercie! – adhdj