Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Libreria process.h e funzione system

    Vorrei creare un programma che crea nell'HD, in una posizione specifica, tante cartelle con un ciclo for.
    Il problema è che devono ogni volta essere rinominate, altrimenti dice file già presente.

    Se io volessi creare 10 cartelle nominate dall'1 al 10, come posso fare tramite la funzione system?

    Io ho provato così ma non funziona:
    codice:
    #include <process.h>
    
    int main() {
        int i;
        for (i=0;i<10;i++)
            system ("md d:\%d", i);
        system ("pause");
        return 0;
    } /* main */

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi usare una semplice variabile per formare la stringa di comando

    codice:
    char cmd[10];
    int i;
    for (i=0;i<10;i++)
    {
      sprintf(cmd, "md d:\\%d", i);
      system(cmd);
    }
    P.S. process.h non e' una libreria ma un file include. C'e' differenza ...

  3. #3
    Grazie mille.
    E se io per esempio volessi mettere le cartelle all'interno di D:\tom?

    Ho provato ma non mi riesce.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Andiamo ... come fa a non riuscirti?

    sprintf(cmd, "md d:\\Tom\\%d", i);

  5. #5
    Originariamente inviato da oregon
    Andiamo ... come fa a non riuscirti?

    sprintf(cmd, "md d:\\Tom\\%d", i);
    Perchè io mettevo prima di Tom una sola barra.
    Come nel prompt.

    Scusa dell'errore.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In C il carattere \ ha un significato particolare. Se vuoi scrivere proprio quello, devi raddoppiarlo ...

  7. #7
    Originariamente inviato da oregon
    In C il carattere \ ha un significato particolare. Se vuoi scrivere proprio quello, devi raddoppiarlo ...
    Infatti me ne sono accorto dopo.
    La singola barra costituiva un carattere di escape.

    Grazie mille.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.