Autor Thema: [solved] Teil 4: console.c/console.h - woher?  (Gelesen 12828 mal)

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #20 am: 05. December 2009, 18:50 »
for (i = 0; i==800; i++)
Sollte das nicht vielleicht eine 80 sein?
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

spaceemotion

  • Beiträge: 49
    • Profil anzeigen
    • SpaceEmotion
Gespeichert
« Antwort #21 am: 05. December 2009, 19:01 »
for (i = 0; i==800; i++)
Sollte das nicht vielleicht eine 80 sein?
Nein eigentlich nicht: Ich will damit die ersten 10 Zeilen (a 80 Zeichen) mit " " vollschreiben. Und den Bildschirm so löschen.
Hm,
ich würde ne extra Datei (z.B. "console.c") anlegen, dort die ganzen Funktionen reinschreiben und in console.h dann nur:
#ifndef _console_H_
#define _console_H_

void kprintf(const char hw);
void clearscreen();

#endif
In console.c muss dann noch #include "console.h" rein und (hoffentlich) fertig.
Probier es mal aus, ich hoffe ich konnte dir helfen.  :-D
Ne, also bei mir klappt das nicht: In file included from init.c:1:
console.c: In Funktion »kprintf«:
console.c:9: Fehler: indizierter Wert ist weder ein Feld noch ein Zeiger
console.c:16: Fehler: indizierter Wert ist weder ein Feld noch ein Zeiger
cc1: warnings being treated as errors
init.c: In Funktion »init«:
init.c:6: Fehler: Übergabe des Arguments 1 von »kprintf«  erzeugt Ganzzahl von Zeiger ohne Typkonvertierung
Alle Dateien unter: sesdll1.se.funpic.de/lionos

Tobiking

  • Beiträge: 24
    • Profil anzeigen
Gespeichert
« Antwort #22 am: 05. December 2009, 19:03 »
for (i = 0; i==800; i++)
Sollte das nicht vielleicht eine 80 sein?

Bei clearscreen würde ich eher auf 2000 (80*25) tippen. Dem Code im Schleifenrumpf nach würde ich sogar 4000 sagen und statt i++ dann i+=2.

Tobiking

  • Beiträge: 24
    • Profil anzeigen
Gespeichert
« Antwort #23 am: 05. December 2009, 19:11 »
Ne, also bei mir klappt das nicht: In file included from init.c:1:
console.c: In Funktion »kprintf«:
console.c:9: Fehler: indizierter Wert ist weder ein Feld noch ein Zeiger
console.c:16: Fehler: indizierter Wert ist weder ein Feld noch ein Zeiger
cc1: warnings being treated as errors
init.c: In Funktion »init«:
init.c:6: Fehler: Übergabe des Arguments 1 von »kprintf«  erzeugt Ganzzahl von Zeiger ohne Typkonvertierung
Die Fehler sagen eigentlich genau was das Problem ist. Dein kprintf hat ein ein "const char" als Parameter, was einem einzelnen Zeichen entspricht. Da kannst du nicht wie auf ein Array zugreifen mit hw[i]

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #24 am: 05. December 2009, 19:37 »
Vor allem sollte es ein < statt einem == sein.

spaceemotion, du wirst es vielleicht nicht gern hören und ich sage das auch nicht gern, aber ein gut gemeinter Ratschlag: Lern erstmal C in normalen Anwendungen und versuch das mit dem OS später nochmal. Oder wenn es eine andere Programmiersprache gibt, die du wirklich kannst, kannst du auch versuchen, auf die umzusteigen. Aber so wie im Moment steckst du viel Zeit rein und bist frustriert, weil nichts klappt; wir stecken viel Zeit rein und sind frustriert, weil dir die absoluten Grundlagen fehlen und du unsere Erklärungen nicht verstehst - und am Ende kommt doch nichts raus.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen