Variable für variierende Pfadangabe



  • Hallo Zusammen

    Ich schreibe gerade an einem C-Programm, das eine Datei aus einem Unterverzeichnis des Benutzers öffnet.
    Mein Problem: Die Benutzerprofile liegen in verschiedenen Ordnern. Z.B.:

    Klasse 3
    -Hans
    -Friz
    Klasse 4
    -Friedrich
    -Peter

    Gibt es eine Möglichkeit, die Klassen als Variablen einzugeben?

    Danke schon Mal im Voraus 🙂



  • Hi,
    mit einem char Array und sprintf wird das funzen.



  • Erstmal Danke für die Antwort!
    Aber ich bin ein Einsteiger und kenne mich nicht mit array aus. Ich habe zwar jetzt etwas recherchiert, kapiers aber nicht wirklich... 😕
    Könntest du mir bitte ein Beispiel geben?



  • char buf[256];
    int i;
    for ( i = 1; i < 14; i++ )
    {
    	sprintf_s ( buf, sizeof(buf), "Klasse %d", i );
    	puts ( buf );
    }
    


  • Bei mir funktioniert das irgendwie nicht...

    Und würde das auch funktionieren, wenn die Klassennamen Buchstaben und Zahlen haben?


  • Mod

    CcC schrieb:

    Und würde das auch funktionieren, wenn die Klassennamen Buchstaben und Zahlen haben?

    Darum sollte man niemals Code benutzen, den man nicht versteht. Versuch daher mal zu verstehen, was der Code macht, dann kannst du dir deine Frage ganz leicht selber beantworten.

    Dazu benötigst du Verständnis von Arrays und Zeichenketten in C und du musst in der Lage sein, Referenzen zu Funktionen selber zu suchen und zu verstehen. Das klingt erst einmal nach vielen Voraussetzungen, aber all dies benötigst du ohnehin, um überhaupt dein Programm schreiben zu können. Sonst müsstest du nämlich bereits im nächsten Schritt wieder fragen, wie es weiter geht.

    Nimm dir also die Zeit, die Antworten von CJosef wirklich gründlich zu verstehen, anstatt auf eine Komplettlösung zu warten. Das wird zwar sicherlich ein paar Tage brauchen, aber danach kannst du das Gelernte auch selbstständig anwenden.



  • Ich erwarte auf keinen Fall eine Komplettlösung!!
    Und das ist eben der letzte Punkt des Programmes, der noch unklar ist...

    Es tut mir leid, falls ich es missverständlich ausgedrückt und dadruch jemanden etwas getroffen habe. 😞

    Und danke für die hoffentlich noch hilfreichen Antworten, wenn ich dieses Thema etwas vertieft habe! 😉



  • CcC schrieb:

    Bei mir funktioniert das irgendwie nicht...

    Hast du auch int main(void) drübergeschrieben und den Code in geschweifte Klammern gepackt? 🤡

    Was heißt irgendwie nicht? Mit dieser Aussage kann man nicht viel anfangen.
    Poste die Fehlermeldung deines Compilers.
    Oder besser, lerne sie zu verstehen und behebe Fehler selbst.


  • Mod

    Das sollte auch kein Vorwurf sein.

    Aber die dringende(!) Empfehlung, die genannten Themen zu lernen, bleibt bestehen.


Anmelden zum Antworten