Formatowanie wyświetlania danych w C++

Poniższy przykładowy program pokazuje w jaki sposób można wpływać na sposób wyświetlania danych za pomocą strumieni w języku C++. Oczywiście, jest to tylko niewielki fragment dostępnych możliwości.

#include <cstring>
#include <iomanip> /* Potrzebne do setw, setfill */
 
void formatowaneIO() {
    using namespace std;
    // Pokazane techniki można stosować również dla plików
    const char imie[] = "Alicja";
    cout << imie[0]; // W zależności od kompilatora, może wyświetlić literkę A lub kod 65
    cout.put(imie[0]); // Wyślij pojedynczy znak do strumienia, wyświetli 'A'
    cout << endl << imie << endl; // Standardowy sposób
    // Metoda write umożliwia wysłanie dowolnej tablicy znaków do strumienia
    cout.write(imie, strlen(imie)-1); // Wyświetli tylko "Alicj"
 
    const int wiek = 20;
    cout << endl << wiek << endl;
    // Manipulator setw() pozwala określić na ilu miejscach zostanie wyświetlony
    // kolejny łańcuch - jeżeli będzie krótszy to zostaną wyświetlone dodatkowe
    // spacje
    cout << setw(6) << wiek << endl;
    // Domyślnie łańcuchy wyrównywane są do prawej strony, ale można to zmienić
    // za pomocą manipulatora left
    cout << setw(6) << left << wiek << endl; /* Od teraz wyrównywanie do lewej */
    // setfill() pozwala zmienić znak używany do wypełniania pustych miejsc -
    // zamiast spacji gwiazdka '*'
    cout << setfill('*') << setw(6) << right << wiek << endl;
    cout << setfill(' ') << setw(10) << wiek << endl;
 
    // Korzystając z manipulatora setw() można z łatwością wyświetlić tabelkę z
    // danymi w której kolumny będą miały ustaloną szerokość
    for (int i = 1; i <= 10; ++i) {
        for (int j = 1; j <= 10; ++j) {
            cout << setw(4) << (i * j); // Wyświetl zawartość komórki na 4 miejscach
            if (j < 10) { 
                cout << " | ";
            } else {
                cout << endl;
            }
        }
    }
}

Post a Comment

Your email is kept private. Required fields are marked *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>