I
ichunix
Hallo und Frohe Weihnachten!
Ich schreibe gerade ein Konsolenprogramm in C und möchte die Lizenz (hier GPL in Version 2.0) ausgeben lassen.
Wenn ich das wie folgt mache, wird logischerweise die ganze Lizenz auf einmal ausgegeben:
Was ich daran ändern will, ist, dass immer nur so viele Zeilen der gpl ausgegeben werden, wie auf einmal auf die Konsole bzw. das Konsolenfenster passen.
Wie kann ich denn die Anzahl der Zeilen der Konsole in C herausfinden?
Im Prinzip soll die Funktion sowas wie das Unix-Kommando more machen, nur will ich nicht more aus meinem Programm heraus aufrufen, sondern das Programm soll das selbst machen.
Viele Grüße
Christian
Ich schreibe gerade ein Konsolenprogramm in C und möchte die Lizenz (hier GPL in Version 2.0) ausgeben lassen.
Wenn ich das wie folgt mache, wird logischerweise die ganze Lizenz auf einmal ausgegeben:
Code:
#include <stdio.h>
void show_license(void) {
FILE *license;
char text[17988];
license = fopen( "gpl" , "r" );
if (license != NULL)
{
fscanf( license , "%17988c", text);
text[17987]= '\0';
printf("%s\n", text);
fclose(license);
}
}
int main() {
show_license();
return 0;
}
Was ich daran ändern will, ist, dass immer nur so viele Zeilen der gpl ausgegeben werden, wie auf einmal auf die Konsole bzw. das Konsolenfenster passen.
Wie kann ich denn die Anzahl der Zeilen der Konsole in C herausfinden?
Im Prinzip soll die Funktion sowas wie das Unix-Kommando more machen, nur will ich nicht more aus meinem Programm heraus aufrufen, sondern das Programm soll das selbst machen.
Viele Grüße
Christian
Zuletzt bearbeitet von einem Moderator: