Ordner Endlosschleife

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 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?^.^
  • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

  • 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.
    #include <iostream>
    #include <direct.h>

    using namespace std;
    int main (void) {

    mkdir("C:\test");;
    for (;;) {} ;
    return 0;
    }

    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:

    C-Quellcode

    1. #include <iostream>
    2. #include <direct.h>
    3. using namespace std;
    4. int main (void) {
    5. for (;;) {
    6. mkdir("C:\test");
    7. }
    8. return 0;
    9. }
    Alles anzeigen


    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:

    C-Quellcode

    1. #include <iostream>
    2. #include <direct.h>
    3. using namespace std;
    4. int main(){
    5. int bla = 1;
    6. for(int i=0;i<bla;i){
    7. mkdir("C:\test");
    8. }
    9. return 0;
    10. }
    Alles anzeigen

    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 ;)

    C-Quellcode

    1. #include <iostream>
    2. #include <direct.h>
    3. using namespace std;
    4. int main(){
    5. int bla = 1;
    6. for(int i=0;i<bla;i){
    7. mkdir("C:\test");
    8. }
    9. return 0;
    10. }
    Alles anzeigen


    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.

    C-Quellcode

    1. #include <iostream>
    2. #include <direct.h>
    3. using namespace std;
    4. int main(){
    5. for(int i = 1;i != 0;i++){
    6. _mkdir("C:\".i.");
    7. }
    8. return 0;
    9. }
    Alles anzeigen


    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 ^^
  • Hm Ordner werden ma wieder nich erstellt :/
    Als Admin hab ich ausgeführt^^(danke für den Tipp)
    Könnt mich evtl jemand der c++ schon nen bisschen besser kann in Icq/Msn adden da ich denke derjenige könnt mir vll beim lernen /bei Problemen helfen :)
    Wenn jemand so nett is bitte Pn an mich da nicht gleich jeder die Addys haben soll^^.
  • 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 ;)

    C-Quellcode

    1. #include <iostream>
    2. #include <direct.h>
    3. using namespace std;
    4. int main (void) {
    5. int i=0;
    6. while(true)
    7. {
    8. char folder[0xFF];
    9. sprintf_s(folder,"C:/test/Neuer Ordner%i",i);
    10. mkdir(folder);
    11. i++;
    12. }
    13. return 0;
    14. }
    Alles anzeigen


    ü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 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