Ich bin gerade am Erstellen eines Konsolenprogrammes, dem man gewisse Eingabedaten übergeben muss. Am Besten wäre einfach per Parameter. Jetzt sollte ich aber wissen, wie lange (wie viele Zeichen) die Befehlszeile überhaupt sein darf; denn je nach dem müsste ich halt an Stelle von Parametern die Daten per STDIN reinnehmen...
Gibt es da eine Limite? - Naja und sonst heisst es einfach ausprobieren, wenn es niemand weiss...
- Adrian
Maximale Kommandozeilenlänge
Re: Maximale Kommandozeilenlänge
Jetzt sei doch nicht so ungeduldigbadera hat geschrieben:Gibt es da eine Limite? - Naja und sonst heisst es einfach ausprobieren, wenn es niemand weiss...

meinem Sarge sind es immerhin 128K. Offiziell bekommt man das etwa so raus:
Code: Alles auswählen
#include <stdio.h>
#include <unistd.h>
int
main (void)
{
printf ("%ld\n", sysconf (_SC_ARG_MAX));
return 0;
}
viel Spass!
Beware of programmers who carry screwdrivers.
na ja, je nachdem was man unter Kommandozeile versteht. ARG_MAX ist das,badera hat geschrieben:Ist es aber nicht eher SC_LINE_MAX? - Naja, ich werde es sehen. Bei mir ist sysconf scheinbar nicht installiert, und apt-cache search sysconf findet auch nichts. Und zur Zeit scheint packages.debian.org down zu sein.
was in *argv[] abgeliefert wird, LINE_MAX ist das, was über stdin gelesen wird.
Aber "nicht installiert" kann garnicht sein - sysconf ist eine (g)libc-Funktion
seit 1328 oder so, die Sarge-man-Page ist von 1993-04-18.
- opengroup zum Thema sysconf
- glibc-manual
Beware of programmers who carry screwdrivers.
Code: Alles auswählen
server:~# man sysconf
No manual entry for sysconf
server:~#
Aber danke für die Antwort!!
- Adrian