Centrer un texte dans c++
Fermé
ali.rachid
Messages postés
292
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 292 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 292 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 22 juin 2021 - 22 févr. 2019 à 20:55
A voir également:
- Centrer un texte dans c++
- Dans le texte, un seul mot a réellement été écrit en lettres capitales (majuscules). quel est ce mot ? ✓ - Forum Word
- Formule excel si contient texte alors texte ✓ - Forum Excel
- Mettre un texte en majuscule - Guide
- Recherchev texte ✓ - Forum Excel
- Déflouter un texte - Forum Logiciels
2 réponses
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
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
printfpar un
cout,...
Dal
nulenmathe
Messages postés
419
Date d'inscription
dimanche 7 septembre 2014
Statut
Membre
Dernière intervention
31 juillet 2019
150
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
292
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
22 juin 2021
28
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