begin process at 2008 05 17 07:05:01
1 173 918 membres
50 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pourquoi printf et sprintf ne marche pas ??? [ Divers / Débutant(e) ] (bluemandfr)

Pourquoi printf et sprintf ne marche pas ??? le 11/05/2008 03:33:11

bluemandfr
Bonjour à tous !

Cherchant de la documentation sur printf et sprintf, je tombe sur l'exemple fourni dans de mauel officiel .chm de PHP. Je fais un copier/coller du code suivant :

printf("[%s]\n",      $s); // affichage d'une chaîne standard
printf("[%10s]\n",    $s); // justification à droite avec des espaces
printf("[%-10s]\n",   $s); // justification à gauche avec des espaces
printf("[%010s]\n",   $s); // l'espacement nul fonctionne aussi sur les chaînes
printf("[%'#10s]\n",  $s); // utilisation du caractère personnalisé de séparation '#'
printf("[%10.10s]\n", $t); // justification à gauche mais avec une coupure à 10 caractères

voici le résultat sur mon ordi :

[monkey] [ monkey] [monkey ] [0000monkey] [####monkey] [many monke]

 KESKISPASSE

Alors plusieurs remarques :

1) le \n ne marche pas : ca ne passe pas à la ligne.
2) le formatage par x fois espace ne marche pas nom plus.

Mais KESKISPASSE

Puis, j'essaye avec sprintf, et alors là.... C'EST L'APOLTHÉOSE  !

RIEN NE S'AFFICHE !!!!!

Est-ce mon PHP est mal configuré ???? (J'utilise Easy PHP auquel je n'ai rien touché, et dont je suis extrêmement content par ailleurs.

ALors pourquoi ce bug étrange ?

Merci à tous de me venie en aide, j'ai besoin de formatter des données venant de MySQL pour les afficher correctement !!!!

BlueMan.

Re : Pourquoi printf et sprintf ne marche pas ??? le 11/05/2008 04:20:32

yoman64
Membre Club
Réponse acceptée !
Salut,

Déja faut ssavoir que sprintf retourne un string et n'affiche rien, donc normal..
Ensuite je vois vraiment pas ton problème si tu as le retour que tu dis, c'est exactement le résultat attendu si je me fis à la chaine que tu passe à printf.....


Sache que \n affiche un retour de ligne mais que la plupart des navigateurs ne prenne pas en compte ce genre de retour (puisqu'ils s'attendent à du html). Affiche la source, tu vas bien voir que tes retours y sont.

Idem pour les espaces, il s'attend à du html, les "blank spaces" ne sont pas pris en compte en html.

Donc tu peux faire echo '<pre>'; avant tes printf et echo '</pre>'; à la fin, ou tu peux forcer le navigateur à prendre ça pour du texte en envoyant un header pour lui dire que c'est du texte.

Ou encore utiliser sprintf et faire un str_replace afin de remplacer les espaces et les retour de lignes par des quotes et tags html.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  


Classé sous : printf, marche, sprintf, 10s, monkey

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS