Ontwerp en bouw een besturingssysteem/Blue Screen of Death/Waardes weergeven
Uit Wikibooks
| Dit artikel is een beginnetje. U wordt uitgenodigd op bewerk te klikken om uw kennis aan dit artikel toe te voegen. |
Het is zeer handig om getallen in decimaal en hexadecimaal te kunnen afdrukken.
Hiervoor definieren we de functie String_Format in string.c (en de declaratie in string.h):
/kernel/src/string.c
#include <string.h> // Formatteert de gegeven format-string en argumenten. achar* String_Format(const achar* format, ...) { va_list args; achar buffer[1024]; va_start(args, format); String_FormatBuffer(buffer, format, args); va_end(args); return buffer; } // Formatteert de gegeven format-string <format> en de argumenten <args> en plaatst // het resultaat in <buffer>. Als de buffer niet groot genoeg is, treed er een buffer overflow op. // De syntax van <format> is {i:F} waarbij i de index van het argument is (het eerste argument // heeft index 0) en F de format-string is (bijv. hexadecimaal is 'X'). unint String_FormatBuffer(achar* buffer, const achar* format, va_list args) { ... }
TODO: Wat is va_list, va_start, va_end, va_arg etc... Hulpfuncties?