Ordner Endlosschleife

  • Moin c++ Coder^^,
    Da ich nun seit kurzer Zeit c++ übe und deswegn natürlich nich soviel kann wollte ich eben was fragen.
    Nämlich ich habs schon immer toll gefunden bisschen scheiß zu machen wodurch ich (noch in MSDos) auf die Idee gekommen bin ne Endlosschleife zu machn die Ordner erstellt.
    Das sah dann so aus:
    md %random%
    start *Name der Datei*.bat
    goto md

    Nun ok aber das PRoblem ist natürlich MSDos ist nicht c++ .
    Deswegn wollt ich fragen kennt jemand nen Source der das Selbe macht und kann ihn mir hier geben?^.^

  • Ok danke ich werd mich mal dran versuchen im Notfall frag ich einfach nochmal ^-^.
    Edit:
    Hab zwar nen Source (bekomme keine Fehlermeldung) aber komischerweiße erstellt er keine Ordner.


    Da ich jetzt off muss hab ich keine Zeit weiter drüber nachzudenken und mir fällt auch nichts mehr ein :/ .
    Könnt ich vll noch nen kleinen Tipp haben? (vermute mal is nen kleiner Fehler der ein Zeichen beträgt oder so)
    Edit: Okay hab gemerkt Ordner wird erstellt aber nur im aktuellen Verzeichnis der Datei.
    Da bleiben nur die Fragen wie kann ich den Zielpfad angebn und wie kann der Ordner einen zufälligen Namen erhalten.

  • Ich hab so etwas zwar noch nie zuvor gemacht aber da ich mich mit c++ auskenn müsste es eig so aussehen:

    Das sollte immer einen ordner in dem verzeichnis erstellen.

    du musst bei schleifen etwas in die geschweiften klammern schreiben. while(true){} sollte auch funktionieren ist aber egal.

  • Ich würde das so machn:


    Ich habs grad hier rein geschrieben also bin ich nicht sicher obs funktioniert ^^.

    Mfg Nydn

  • Hmm, Ihr verwendet alle mkdir("C:\test");... Ich hab mich noch nicht oft mit Ordner erstellen beschaftigt,
    meine aber mich zu erinnern das der Befehl so geht: _mkdir("C:\\Neuer Ordner");

    Ich hab grad leider keinen Compiler aber ich würde es so machen das man den Ordnernamen durch eine Variable ersetzt und die per Zufall, am besten durch einberechnung der Zeit, immer wieder Neue werte zuweist.

  • Ich nehm mal einfach den Code von Nydn, weil der soweit am besten ist ;)

    Wenn man jetzt die Variable "i" hochzählt, also mit "i++" (jedesmal wenn die schleife durchlaufen wird i+1) dann nimmt man für "_mkdir" halt "i" als ordnernamen.

    So, wir setzen also i auf 0, und solange i ungleich 0 ist, wird die schleife laufen. Da wir immer i+1 rechnen wird i niemals 0 erreichen, ergo haben wir die endlosschleife.

    _mkdir("C:\".i.");

    Die punkte sind verknüpfungsoperatoren. Ich hab wie gesagt keinen Compiler, deswegen kann ich nix ausprobieren, aber ich denke das die hier nötig sind.

    Ich schätze mal das ich jetzt irgendwas vergessen hab, deswegen, einfach mal Fehler posten oder selbst noch n bissl ausprobieren xD

    Edit: Achso ja, es sollten als ergebniss Ordner mit dem Namen 1,2,3... usw rauskommen ^^

  • Bin zwar C++ Noob aber wenne Windows 7 nutzt sollteste es als Admin starten da C: durch Win7 geschützt wird weshalb du immer alles bestätigen müsst wenne was nach C: kopieren oder erstellen willst


  • ok hab die funktion vorher noch nie benutzt aber jetzt weiß ich was ich falsch gemacht hab. Man muss den Dateipfad des neuen ordners angeben also hier ist der code wie es richtig geht ;)

    übrigens ich benutz auch win7 und muss es nicht als admin ausführen ;)

    achja mein compiler sagt man sollte _mkdir nehmen aber wenns bei euch mit mkdir geht dann könnt ihr es denk ich mal auch so machen ;)

  • Ich versteh nicht wieso du bei der main Funktion als Parameter void angibst. Kann man das nicht einfach main() lassen? oO

  • ich habs von ihm einfach kopiert. void bedeutet einfach leer also ist egal ob du die klammern leer lässt oder void hineinschreibst
    include iostream und using namespace std braucht man glaub ich bei dem programm auch nicht aber es funktioniert halt ;) wollte es nur grad schnell zum laufen bringen xD

  • iostream is glaub nur für cout/cin hab mich auch schon gewundert xD
    und namespace std sollte man sich angewöhnen weil wenn man das ohne macht
    dann werden die proggs in paar jahren nicht mehr laufen ( Hab ich iwo gelesen ) ^^

  • namespace std ist einfach ein namespace von iostreamund ein paar anderen bibliotheken den man vor cout und cin und zb string schreiben muss

    std::cout
    std::cin
    ...

    oder

    using namespace std;
    cout
    cin
    ...

  • hab grad gemerkt dass man bei dem programm doch für sprintf iostream braucht also lieber nicht rausmachen xD

  • `sprintf_s' undeclared (first use this function) Die Meldung kommt da^^

    Will das auch mal nebenher lernen dacher probier ich das grade auch :>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!