Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: piete2 en 10 Diciembre 2016, 17:11 pm



Título: Ayuda, pasar programa en main a subprogramas
Publicado por: piete2 en 10 Diciembre 2016, 17:11 pm
Hola Buenas, tengo un programa en C que me gustaría pasar a subprogramas pero siempre me encuentro con algún tope. Me podéis ayudar? Gracias!

Aquí os dejo el código

Código
  1. DWORD umask = GetLogicalDrives();
  2.    int i;
  3.    char n;
  4.    char c[32];
  5.    int f = 0;
  6.    for (i = 97; i <= 122; i++) {
  7.        n = i;
  8.  
  9.        if (umask & 1) {
  10.            printf("%c:\\ ", n);
  11.            c[f] = n;
  12.            f++;
  13.        }
  14.        umask >>= 1;
  15.    }
  16.  
  17.    printf("\nDirectorio de origen %c:\\ \n", c[0]);
  18.    printf("Directorio destino %c:\\ \n", c[f - 1]);
  19.    char dire[100];
  20.  
  21.    sprintf(dire, "%c:\\copia_%c", c[0], c[f - 1]);
  22.    if (CreateDirectory(dire, 0) == TRUE) {
  23.        printf("Creado el directorio %c\\copia_%c\\\n", c[0], c[f - 1]);
  24.    }
  25.    if (SetCurrentDirectory(dire) == TRUE) {
  26.        DWORD nBufferLength = GetCurrentDirectory(0, NULL);
  27.        char *lpBuffer = (LPTSTR) malloc(nBufferLength);
  28.        int tam = GetCurrentDirectory(nBufferLength, lpBuffer);
  29.        printf("Lugar de trabajo actual : %s\\ \n", lpBuffer);
  30.    }
  31.    sprintf(dire,"%c:\\",c[f-1]);
  32.    printf("Estoy en el directorio %s:\n",dire);
  33.    SetCurrentDirectory(dire);
  34.  
  35.    HANDLE hFind;
  36.    WIN32_FIND_DATA datos;
  37.    hFind = FindFirstFile("*.*", &datos);
  38.    if (hFind != INVALID_HANDLE_VALUE){
  39.        while (FindNextFile(hFind,&datos)){
  40.            if (!(datos.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
  41.                SYSTEMTIME tiempo;
  42.                FileTimeToSystemTime(&datos.ftCreationTime, &tiempo);
  43.                printf("%2d/%2d/%d  %2d:%2d   %2s \n", tiempo.wDay, tiempo.wMonth, tiempo.wYear,tiempo.wHour + 1, tiempo.wMinute, datos.cFileName);
  44.                sprintf(dire,"%c:\\copia_%c\\%s",c[0],c[f-1],datos.cFileName);
  45.                CopyFile(datos.cFileName,dire,TRUE);
  46.            }
  47.        }
  48.        FindClose(hFind);
  49.    }

Lo que intento hacer con éste código es mostrar las unidades de mi pc, crear un directorio en una unidad de mi pc, y copiar archivos al anterior directorio en otra unidad.

Gracias!


Título: Re: Ayuda, pasar programa en main a subprogramas
Publicado por: ivancea96 en 10 Diciembre 2016, 22:57 pm
No te podemos ayudar si no sabemos qué problema tienes exactamente.