Centrer un texte dans c++
Fermé
ali.rachid
Messages postés
290
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
22 juin 2021
-
Modifié le 16 févr. 2019 à 00:48
ali.rachid Messages postés 290 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 22 juin 2021 - 22 févr. 2019 à 20:55
ali.rachid Messages postés 290 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 22 juin 2021 - 22 févr. 2019 à 20:55
Salut,
Je veux savoir comment centrer un texte dans c++.
Merci d'avance.
Je veux savoir comment centrer un texte dans c++.
Merci d'avance.
A voir également:
- Centrer un texte dans c++
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Mettre un texte en majuscule - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Texte barré whatsapp - Guide
2 réponses
[Dal]
Messages postés
6203
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
29 janvier 2025
1 099
Modifié le 18 févr. 2019 à 13:00
Modifié le 18 févr. 2019 à 13:00
Salut ali.rachid,
Tu ne peux pas le faire en C, ni en C++ standard, car il n'y a aucun moyen de déterminer la largeur de la console prévu dans ces langages en standard.
Tu peux, par contre, certainement utiliser les API propres à ton système d'exploitation si tu veux faire cela (le code ne sera pas standard, et ne fonctionnera que pour ce système).
Par exemple, sous Windows avec GetConsoleScreenBufferInfo().
Ensuite, pour centrer un texte, tu peux soit l'afficher en ajoutant des espaces avant le texte, pour le placer à la colonne que tu souhaites, ou utiliser l'API de ton système d'exploitation pour déplacer le curseur d'affichage aux coordonnées de la console où tu veux écrire (tant qu'à faire).
Par exemple, sous Windows avec SetConsoleCursorPosition().
En C, cela donnerait quelque chose comme ceci (non testé, je suis sous Linux) :
Si tu veux vraiment faire du C++, remplace les entêtes par les entêtes C++, le
Dal
Tu ne peux pas le faire en C, ni en C++ standard, car il n'y a aucun moyen de déterminer la largeur de la console prévu dans ces langages en standard.
Tu peux, par contre, certainement utiliser les API propres à ton système d'exploitation si tu veux faire cela (le code ne sera pas standard, et ne fonctionnera que pour ce système).
Par exemple, sous Windows avec GetConsoleScreenBufferInfo().
Ensuite, pour centrer un texte, tu peux soit l'afficher en ajoutant des espaces avant le texte, pour le placer à la colonne que tu souhaites, ou utiliser l'API de ton système d'exploitation pour déplacer le curseur d'affichage aux coordonnées de la console où tu veux écrire (tant qu'à faire).
Par exemple, sous Windows avec SetConsoleCursorPosition().
En C, cela donnerait quelque chose comme ceci (non testé, je suis sous Linux) :
#include <stdio.h> #include <string.h> #include <windows.h> int main(void) { HANDLE hStdout; CONSOLE_SCREEN_BUFFER_INFO csbiInfo; char s[] = "texte"; hStdout = GetStdHandle(STD_OUTPUT_HANDLE); if (! GetConsoleScreenBufferInfo(hStdout, &csbiInfo)) { printf("Error doing GetConsoleScreenBufferInfo (%d)\n", GetLastError()); return 1; } csbiInfo->dwCursorPosition.Y = csbiInfo->dwSize.Y / 2 - strlen(s) / 2; if (! SetConsoleCursorPosition(hStdout, csbiInfo->dwCursorPosition)) { printf("Error doing SetConsoleCursorPosition (%d)\n", GetLastError()); return 1; } printf("%s\n", s); return 0; }
Si tu veux vraiment faire du C++, remplace les entêtes par les entêtes C++, le
printf
par un cout
,...
Dal
nulenmathe
Messages postés
425
Date d'inscription
dimanche 7 septembre 2014
Statut
Membre
Dernière intervention
31 juillet 2019
151
16 févr. 2019 à 02:09
16 févr. 2019 à 02:09
Bonjour,
Et pourquoi ne pas faire une recherche google plutôt que de créer un Nième topic sur le sujet ?
Merci
Et pourquoi ne pas faire une recherche google plutôt que de créer un Nième topic sur le sujet ?
Merci
ali.rachid
Messages postés
290
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
22 juin 2021
29
22 févr. 2019 à 20:54
22 févr. 2019 à 20:54
Salut,
Pour que j'ai posté ce topic, c'est que j'ai fais des milliers de recherches sur Google.
Merci.
Pour que j'ai posté ce topic, c'est que j'ai fais des milliers de recherches sur Google.
Merci.
22 févr. 2019 à 20:55