Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Utilizzo calloc e realloc...
Forum - C/C++ - Utilizzo calloc e realloc... - Pagina 4

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 20:39
Giovedì, 31/07/2008
Eccomi ... calma ...

Ma tu lo vuoi scrivere in C o C++ ? Adesso hai inserito costrutti C++ mentre in tutto il resto del codice hai usato solamente il C ...

Una soluzione puo' essere

Codice sorgente - presumibilmente C++

  1. #include "stdafx.h"
  2.  
  3. #include <windows.h>
  4. #include <iostream>
  5. #include <stdio.h>
  6. #include <vector>
  7. #include <string>
  8.  
  9. using namespace std;
  10.  
  11. vector<string> lista;
  12.  
  13. void search(char *p)
  14. {
  15.   WIN32_FIND_DATA fd;
  16.  
  17.   char tlist[MAX_PATH];
  18.   char pf[MAX_PATH];
  19.   strcpy(pf, p);
  20.   strcat(pf, "\\*.*");
  21.  
  22.   HANDLE h = FindFirstFile(pf, &fd);
  23.   if (h != INVALID_HANDLE_VALUE)
  24.   {
  25.     do
  26.     {
  27.       if( strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, ".."))
  28.       {
  29.         if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
  30.         {
  31.           //printf ("[%s]\n", fd.cFileName);
  32.  
  33.           char pf[MAX_PATH];
  34.           strcpy(pf, p);
  35.           strcat(pf, "\\");
  36.           strcat(pf, fd.cFileName);
  37.  
  38.           search(pf);
  39.         }
  40.         else
  41.         {
  42.           //printf ("\t%s\n", fd.cFileName);
  43.  
  44.           strcpy(tlist, p);
  45.           strcat(tlist, "\\");
  46.           strcat(tlist, fd.cFileName);
  47.  
  48.           lista.push_back(tlist);
  49.         }
  50.       }
  51.     } while (FindNextFile(h, &fd));
  52.  
  53.     FindClose(h);
  54.   }
  55.   else
  56.     printf("Errore %d\n", GetLastError ());
  57. }
  58.  
  59. int main()
  60. {
  61.   char percorso[MAX_PATH];
  62.  
  63.  
  64.   cout<<"Inserire il percorso in effettuare la ricerca:  ";
  65.   cin>>percorso;
  66.  
  67.   search(percorso);
  68.  
  69.   cout<<endl<<endl<<endl;
  70.  
  71.   vector<string>::iterator a = lista.begin();
  72.   while(a != lista.end())
  73.   {
  74.         cout<<*a<<endl;
  75.         a++;
  76.   }
  77.  
  78.   system("pause");
  79. }



ma devi utilizzare le

string

ovunque al posto dei vettori di char per fare in modo che diventi tutto C++

Ultima modifica effettuata da gantonio il 31/07/2008 alle 20:40
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:22
Giovedì, 31/07/2008
Ok domani provo ad aggiungere un'ultima funzione al programma e poi siamo a posto ciao!!!!!!!

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 9:23
Venerdì, 01/08/2008
Ok ... ma ci possiamo risentire saltuariamente ... vado in ferie e quindi guardero' il forum un po' raramente ...

:)

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo