Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
confstr - Zeichenketten-Wert einer Systemvariablen ermitteln
&pagelevel(4)&pagelevel
Definition | #include <unistd.h> size_t confstr(int name, char *buf, size_t len); |
Beschreibung | Mit confstr() können die aktuellen Zeichenketten-Werte einer konfigurierbaren Systemvariablen name ermittelt werden. Verwendung und Zweck entsprechen sysconf() ; confstr() wird jedoch nur für Zeichenketten-Werte und nicht für numerische Werte verwendet. Die Implementierung unterstützt nur den Wert _CS_PATH für name, der in unistd.h definiert ist. Wenn len ungleich 0 ist und name einen von der Konfiguration definierten Wert hat, kopiert confstr() diesen Wert in den Puffer mit len Byte, auf den buf zeigt. Wenn die zurückzugebende Zeichenkette mehr als len Byte hat (einschließlich abschließendem Nullbyte), so schneidet confstr() die Zeichenkette auf len-1 Byte ab und fügt ein abschließendes Nullbyte an das Ergebnis an. Die Anwendung kann erkennen, dass die Zeichenkette abgeschnitten wurde, wenn sie den von confstr() zurückgelieferten Wert mit len vergleicht. Wenn len gleich 0 und buf ein Nullzeiger ist, gibt confstr() den Integer-Wert wie unten definiert zurück. Es wird aber keine Zeichenkette zurückgegeben. Wenn len gleich 0, aber buf kein Nullzeiger ist, ist kein Returnwert definiert. |
Returnwert | Puffergröße für den Wert von name |
|
| wenn name einen von der Konfiguration definierten Wert hat. Wenn dieser Returnwert größer als len ist, wird die in buf zurückgelieferte Zeichenkette abgeschnitten. |
| 0 | wenn name keinen von der Konfiguration definierten Wert hat. errno wird nicht gesetzt. wenn name einen ungültigen Wert hat. errno wird gesetzt, um den Fehler anzuzeigen. |
Fehler | confstr() schlägt fehl, wenn gilt: |
| EINVAL
| Der Wert von name ist ungültig. |
Hinweise | Eine Anwendung kann zwischen einem ungültigen Wert für name und einem Namen unterscheiden, der einer konfigurierbaren Umgebungsvariablen entspricht, die keinen von der Konfiguration definierten Wert hat. Dazu muss abgefragt werden, ob errno verändert wurde. Dies entspricht dem Verhalten von sysconf() . Ursprünglich wurde confstr() benötigt, um den von der Konfiguration vordefinierten Wert für die Umgebungsvariable PATH abzufragen. Da der Benutzer PATH erweitern kann, müssen Anwendungen den Wert der vom System zur Verfügung gestellten Umgebungsvariablen PATH feststellen können, der den richtigen Suchpfad für die XPG4-Kommandos enthält. |
Siehe auch | sysconf() , pathconf() , unistd.h . |