⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 o_stream.h.svn-base

📁 德国Erlangen大学教学操作系统源码。
💻 SVN-BASE
字号:
/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                            O _ S T R E A M                                *//*                                                                           *//*---------------------------------------------------------------------------*//* Die Klasse O_Stream enthaelt die Definition des << Operators fuer die     *//* wichtigsten der vordefinierten Datentypen und realisiert somit die        *//* bekannte Ausgabefunktion der C++ iO_Stream Bibliothek. Zur Zeit wird die  *//* Darstellung von Zeichen, Zeichenketten und ganzen Zahlen unterstuetzt.    *//* Ein weiterer << Operator erlaubt die Verwendung von Manipulatoren.        *//*                                                                           *//* Neben der Klasse O_Stream sind hier auch die Manipulatoren hex, dec, oct  *//* und bin fuer die Wahl der Basis bei der Zahlendarstellung, sowie endl     *//* fuer den Zeilenumbruch definiert.                                         *//*****************************************************************************/#ifndef __o_stream_include__#define __o_stream_include__#include "object/strbuf.h"class O_Stream : public Stringbuffer{public:	struct special_char	{		static const unsigned char line_terminator;	};		O_Stream();	O_Stream(O_Stream &ostr);	virtual ~O_Stream();	O_Stream& operator<< (unsigned char c);	O_Stream& operator<< (char c);	O_Stream& operator<< (unsigned short number);	O_Stream& operator<< (short number);	O_Stream& operator<< (unsigned int number);	O_Stream& operator<< (int number);	O_Stream& operator<< (unsigned long number);	O_Stream& operator<< (long number);	O_Stream& operator<< (void* pointer);	O_Stream& operator<< (char* text);	O_Stream& operator<< (O_Stream& (*fkt) (O_Stream&));	void setBase(unsigned int base);		virtual void flush() = 0;protected:	char itoa(unsigned int value) const;	unsigned long abs(long value);	unsigned int m_base;};/*---------------------------------------------------------------------------*//*                                                                           *//*                          M A N I P U L A T O R E N                        *//*                                                                           *//*---------------------------------------------------------------------------*//* Die folgenden Funktionen erhalten und liefern jeweils eine Referenz auf   *//* ein O_Stream Objekt. Da die Klasse O_Stream einen Operator << fuer        *//* derartige Funktionen definiert, koennen sie mit Hilfe dieses Operators    *//* aufgerufen und sogar in weitere Eingaben eingebettet werden.              *//* Aufgabe der Manipulatoren ist, die Darstellung der nachfolgenden Ausgaben *//* zu beeinflussen, z.B durch die Wahl des Zahlensystems.                    *//*---------------------------------------------------------------------------*/// ENDL: fuegt einen Zeilenumbruch in die Ausgabe ein.O_Stream& endl (O_Stream& os);// BIN: waehlt das binaere Zahlensystem aus.O_Stream& bin (O_Stream& os);// OCT: waehlt das oktale Zahlensystem aus.O_Stream& oct (O_Stream& os);// DEC: waehlt das dezimale Zahlensystem aus.O_Stream& dec (O_Stream& os);// HEX: waehlt das hexadezimale Zahlensystem aus.O_Stream& hex (O_Stream& os);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -