QString --> octal

Alles rund um die Programmierung mit Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Weiter oben wolltest Du es noch mit cout ausgeben, jetzt auf einmal zeigst Du uns eine Datei die wir davor noch nie gesehen haben...
da 0775 octal ist und du es in mode_t haben willst, war mein erste Link also doch korrekt und Du hat es nicht korrekt gelesen. Bei octal ist base nicht 10...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
madmadmod
Beiträge: 11
Registriert: 5. Juni 2006 09:47

ach was!

Beitrag von madmadmod »

Hallo

Ich schreibe hier in der Hoffnung, dass mir jemand helfen kann, bin echt am verzweifeln...

Ich versuche mit Hilfe von

#include <sys/stat.h>
#include <sys/types.h>

int mkdir(const char *pathname, mode_t mode);

verzeichnisse zu erstellen. Das funktioniert auch wunderbar, solange ich die Rechte (mode_t) hardcoded übergebe. Jedoch wird in meinem Programm dieser Wert als QString übergeben und ein casten in int lässt dann auch das führende 0 verschwinden. Ohne führendes 0 wird aber der Wert falsch intepretiert.

z.B. aus 0755 wird dann 755.

Strings werden natürlich als Parameter nicht akzeptiert.

OS: Fedora Core 5
Dev: QT 3.3

Wenn jemand einen Tipp für mich hat, dann wäre ich echt dankbar!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Der Compilerfehler war nicht dabei.
Und wie ich schon sagte - es ist mit toULong() möglich... 0755 octal == 493 dezimal == der Wert den mode_t haben muss.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
madmadmod
Beiträge: 11
Registriert: 5. Juni 2006 09:47

Beitrag von madmadmod »

oh man! du hast recht...

ist mir irgendwie peinlich... :oops:


danke nochmal für eure hilfe!!!!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

passiert :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten