2017-03-07 5 views
-2

Ich möchte die Werte (in Hex) dieser bestimmten Register und Zähler anzeigen, aber ich möchte die Anzahl der angezeigten Ziffern begrenzen.Steuerung der Anzahl der angezeigten Ziffern C++

cout << "Acc register : " << hex << Acc << ",";  //display 2 digits 
cout << " X register : " << hex << X << ",";   //display 3 digits 
cout << " Program counter : " << hex << PC << ","; //display 3 digits 

Ich mag auch Nullen vorangehende angezeigt werden, wenn der Wert nur 1 Stelle lange, zum Beispiel ist, wenn
program counter = 4

PC angezeigt werden soll als Program counter : 004

ich im Internet gesucht habe, um zu versuchen, finde eine Lösung, aber ich kann scheinbar nichts finden, was funktioniert. Kann mir bitte jemand erklären, wie man das macht? Danke vielmals.

+1

Verwendung 'setw()' und kann hier

#include <iomanip> #include <iostream> int main() { std::cout << std::setfill ('x'); std::cout << "PC" << std::setw(3) << 4 << std::endl; } 

Ein weiteres Beispiel gefunden 'füllen ('0')'. –

+0

Warum nicht 'printf' verwenden? Das C++ 'cout' und etc. ist ein Schmerz ... –

Antwort

0

Die STL kommt mit einem Header namens iomanip, der in der Art ändern kann, wie Sie wollen und noch mehr.

würde ein kurzes Beispiel sein: http://www.cplusplus.com/reference/iomanip/setfill/

Eine Übersicht über alle Optionen hier: http://www.cplusplus.com/reference/iomanip/

+0

Danke. Ich habe versucht, die Breite nach Ihrem Vorschlag einzustellen, aber es zeigt immer noch 4 Ziffern an, macht es einen Unterschied, dass der Wert, den ich anzeigen möchte, in Hexadezimal ist? @OutOfBound –

+0

Wahrscheinlich. Kannst du den vollständigen Code in der Frage posten, dann kann ich nach dem Problem suchen – OutOfBound

Verwandte Themen