ESP8266 problème avec le caractere "%" pour un webserver

Bonjour à tous !

Dans le cadre d’un projet de lampe connectée, j’essaye de créer une interface web un peu design.
Pour cela, j’ai une grosse partie css et des valeurs exprimée en % mais malheuresement, dés que j’exporte mon code sur mon Lolin D1 mini pro (ce n est pas un ESP mais j’utilise la bibliotheque esp), au chargement de la page, il n’y a aucun symbole “%” excepté un seul:

void handleRoot() {

  snprintf ( htmlResponse, 3000,
"<!DOCTYPE html>\
<html lang='fr'>\
  <head>\
    <meta charset=\"utf-16\">\
    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\
  </head>\
<title>stylistique </title>\
<style>\
input.glisseur {  -webkit-appearance: none; background:transparent; width:100 % ; display: flex;    justify-content: center;  position:relative;}\
input.glisseur::-webkit-slider-runnable-track { width:100\%; height:100\%;  padding:\3% 0%;
</style>\"); 

   server.send ( 200, "text/html", htmlResponse );  

}

celui dont la valeur est eclipsée par le \ apparait. Tous les autres ne sont pas là :-(.
Savez vous d’ou cela peut venir ?

Mes recherches sur internet n’ont rien donné (peut etre que je cherche mal)

Ca ne serait pas pertinent de mettre tout mon code ici car je ne pense pas que ca servirait a grand chose. Neanmoins, si vous souhaitez le voir, n hesitez pas !

Merci d avance

Cherche "Caractère d'échappement" par exemple sur Wikipedia

Mais le "%" n'est pas un caractère d echapement il me semble. Je ne vois pas pourquoi il n'est pas pris en compte ...
Je sais aussi que le % est souvent utilisé pour formater un texte (notamment avec des variables). Y a t il un moyen d eviter cela ?

Bon j'ai contourné le problème en utilisant une autre unité relative que le %... C'est bien moins réussi mais ça fait le job !

A priori c'est plutôt le backslash qui est le caractère d'échappement. Comme je ne connais pas la syntaxe de ton affichage, je peux difficilement t'aider à savoir ce qui doit être échappé ou non.

Dans le bout de code que tu montres, certains % sont échappés et d'autres non. Il faut que tu essayes diverses combinaisons de % ou de % pour voir ce qui correspond à ton besoin, qui n'est pas vraiment expliqué d'ailleurs...

oups je viens de trouver ^^'
c est la methode snprintf qui eneleve le % ! Comme je ne connais pas son role dans cette utilisation, je l'ai enelvé et tout marche correctement !

Merci encore pour votre aide ! Vous etiez fort sympa

D'où le caractère d'échappement qui te permet de mettre un % dans une chaîne avec snprintf

Non, j'ai essayé le backslash dans toutes les positions, impossible d'arriver à conserver le % après le snprintf ...

Bonjour,

C’est %% pour inclure un % dans printf, sprintf …
Voir la doc de printf

Bravo Kamill !

oups merci beaucoup Kamill !