[C] Liste von Pfaden aufrufen

Bexx

Verrückte Erfinderin bei Daniel Düsentrieb
Hallo :)


ich muss aus Python ein Skript in C neu schreiben und ich bin in einer leichten Denkkrise, weil ich Schwierigkeiten habe umzudenken.

Wenn ich in C eine Liste von Pfaden benötige, muss ich dann über System Command gehen oder gibt es eine Alternative dazu?

Im Allgemeinen wäre ich auch super dankbar, wenn mir jemand spezielle Literatur zum Thema Dateihandling in C empfehlen könnte, da ich mich in dieser Hinsicht ein bisschen ins Wasser geschmissen fühle :rolleyes:

Wie immer bin ich super dankbar für alle Tipps :)

Liebe Grüße...
 
Hi.

Ausgehend von deiner (etwas unverständlichen) Problembeschreibung, gehe ich mal davon aus, das du die Verzeichniseinträge im Dateisystem auslesen möchtest?!

Das ist betriebssystemspezifisch. Ich nehme mal an, du verwendest Windows. Such mal nach FindFirstFile.

Gruß
 
Danke, dass du dich für mich reingedacht hast, aber sehe schon, hätte das ein wenig spezieller ausdrücken müssen.
Den Tipp find ich auf jeden Fall schonmal hilfreich...
Ich habe noch eine Frage an dich:
Was wäre einfacher, mit mittelmäßigen C Kenntnissen den Quellcode schreiben oder aber C++ lernen und den Quelltext für diesen Nutzen dann darin schreiben?

Ich kann mich entscheiden und bin nicht sicher ob ich mit C die bessere Wahl treffen würde, da ich von C++ wenig weiß und Dateihandling doch relativ schwierig ist in C.
 
Was wäre einfacher, mit mittelmäßigen C Kenntnissen den Quellcode schreiben oder aber C++ lernen und den Quelltext für diesen Nutzen dann darin schreiben?

Ich kann mich entscheiden und bin nicht sicher ob ich mit C die bessere Wahl treffen würde, da ich von C++ wenig weiß und Dateihandling doch relativ schwierig ist in C.
Da wir das Thema für Windows hier bereits unzählige Male durchgekaut haben und du im Grunde fertigen Code aus diesen Themen entnehmen kannst, würde ich dir C empfehlen.

In Standard C++ gibt es auch keine andere Möglichkeit als die plattformspezifischen C Funktionen aufzurufen. Das würde dir also gar nicht helfen.

In C++ könnte man dann natürlich nette Bibliotheken wie z.B. Boost.Filesystem benutzen, aber da gibt's ja erstmal die Einstiegshürde das man das installieren muss und sich dann auch schon mit C++ (Idiomen, Templates und Exceptions) etwas auskennen sollte...

Gruß
 
Okay, danke, das hilft mir sehr viel weiter.
Nutze dann mal meine zugänglichen Ressourcen und wenns garnicht klappt, dann poste ich hier einfach nochmal.

merci beaucoup :)
 
Hallo,

ich habe noch eine Frage, wie einarbeitungsbedürftig sind denn die Bibliotheken die in C für GUI zu Verfügung stehen, welche sollte ich am besten benutzen um eine einfache Oberfläche zu gestalten (max. 3 Buttons und ein Eingabefeld)?
 
Hi.
ich habe noch eine Frage, wie einarbeitungsbedürftig sind denn die Bibliotheken die in C für GUI zu Verfügung stehen
Also soviel Auswahl gibt's da ja nicht.
welche sollte ich am besten benutzen um eine einfache Oberfläche zu gestalten (max. 3 Buttons und ein Eingabefeld)?
Also IUP (http://www.tecgraf.puc-rio.br/iup/) finde ich doch recht simpel. Außerdem gibt's die Bibliothek schon fertig kompiliert für verschiedene Betriebssysteme und Compiler so das man gleich loslegen kann.

Eines der Beispiele aus der Doku welches einen Dialog mit Quit Button anzeigt:
C:
#include <stdlib.h>
#include <stdio.h>
#include <iup.h>

int quit_cb(void)
{
  return IUP_CLOSE;
}

int main(int argc, char **argv)
{
  Ihandle *dialog, *quit_bt, *vbox;

  IupOpen(&argc, &argv);

  /* Creating the button */ 
  quit_bt = IupButton("Quit", 0);
  IupSetCallback(quit_bt, "ACTION", (Icallback)quit_cb);

  /* the container with a label and the button */
  vbox = IupVbox(
           IupSetAttributes(IupLabel("Very Long Text Label"), "EXPAND=YES, ALIGNMENT=ACENTER"), 
           quit_bt, 
           0);
  IupSetAttribute(vbox, "ALIGNMENT", "ACENTER");
  IupSetAttribute(vbox, "MARGIN", "10x10");
  IupSetAttribute(vbox, "GAP", "5");

  /* Creating the dialog */ 
  dialog = IupDialog(vbox);
  IupSetAttribute(dialog, "TITLE", "Dialog Title");
  IupSetAttributeHandle(dialog, "DEFAULTESC", quit_bt);

  IupShow(dialog);

  IupMainLoop();
  
  IupDestroy(dialog);
  IupClose();

  return EXIT_SUCCESS;
}
Gruß
 
Zuletzt bearbeitet:
Zurück