Das Hauptproblem liegt nicht darin, dass Bibliotheken für die jeweiligen Systeme fehlen würden, sondern bei spezifischen Problemen. Ein kleines Beispiel: Man möchte, dass der Nutzer am Ende des Konsolenprogramms nur eine Taste drücken muss um das Programm zu beenden. Da bietet sich natürlich sofort getch() an. Es nimmt genau ein Zeichen entgegen und gibt dieses auch zurück; braucht keine Bestätigung mit Enter. Perfekt!
Der einzige Haken an der Sache: getch() funktioniert nur unter Windows! Es ist also nicht plattformunabhängig.
Es gibt aber auch noch getchar(). Dieses gibt das erste eingegebene Zeichen zurück und wartet, bis die Eingabe mit Enter bestätigt wird. Und: getchar() ist plattformunabhängig. Doch das Bestätigen mit Enter am Ende des Programms ist ein wenig lästig.
Hieran zeigt sich ein häufiges Problem: Entweder eine schnelle, einfache Lösung auf Kosten der Portabilität oder eine plattformunabhängige Lösung, die so in etwa das Problem löst, aber einige Einbußen bedeutet.