Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-02-2009, 12:16   #1
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
[C++]Errore compilazione

Ciao,
è da un bel po' che sono a digiuno di programmazione ma ho bisogno di crearmi un programma: ho sovuto ripristinare con recuva i dati da un hard disk e adesso ho una cartella contenente migliaia di file copiati al suo interno con parecchie (diciamo dalle 10 alle 20) copie di ognuno chiamate in questo:
a
a[1]
a[2]
Io ho bisogno di creare un programma che elimini le copie in questo modo:
1 cerchi quella che occupa di + e la tenga
2 se occupano tutte uguali tenga la prima e cancelli le altre
Tempo fa avevo fatto un programma che trovava i file presenti in una directory e nelle sue sottodirectory e ho provato a scrivere questo:
Codice:
#include <iostream>
/*#include "copymdir.h"
#include "copymyfile.h"*/
#include <windows.h>
#include <stdio.h>
#include <vector>
#include <string>
#include <direct.h>
#include <fstream>
using namespace std;

vector<string> listaofile;

int main()
{
    char percorso_cartella;

    cout << "Programma avviato" << endl;
    cout << "Premere inserire la cartella nella quale eliminare i \nfile doppi:";
    cin >> percorso_cartella;

    //ottengo l'elenco dei file nella cartella;
    search(percorso_cartella);

    return 0;
}

void search(char *p)
{
  WIN32_FIND_DATA fd;

  char tlist[MAX_PATH];
  char pf[MAX_PATH];

  strcpy(pf, p);
  strcat(pf, "\\*.*");

  HANDLE h = FindFirstFile(pf, &fd);
  if (h != INVALID_HANDLE_VALUE)
  {
    do
    {
      if( strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, ".."))
      {
        if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
        {
          //printf ("[%s]\n", fd.cFileName);
          //per continuare la ricerca:
          char pf[MAX_PATH];
          strcpy(pf, p);
          strcat(pf, "\\");
          strcat(pf, fd.cFileName);

          search(pf);
        }
        else
        {
          //printf ("\t%s\n", fd.cFileName);
          //lista origine file
          strcpy(tlist, p);
          strcat(tlist, "\\");
          strcat(tlist, fd.cFileName);
          listaofile.push_back(tlist);

        }
      }
    } while (FindNextFile(h, &fd));

    FindClose(h);
  }
  else
    printf("Errore %d\n", GetLastError ());
}
uso code::blocks e nella compilazione ho questo errore
error: no matching function for call to `search(char&)'
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2009, 12:23   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
la funzioni si aspetta una stringa in stile C(char*) e tu le passi un carattere(char).. ciao
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2009, 19:03   #3
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
quindi cosa devo fare per risolvere?
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2009, 19:13   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
quindi cosa devo fare per risolvere?
percorso_cartella lo devi dichiarare sicuramente stringa.. o string o char*.. anche perchè non puoi memorizzare chessò "documents and settings" in un char
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2009, 00:31   #5
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Dichiaralo string e poi alla funzione passa oggetto.c_str().

Comunque, dal momento che usi C++, ammazza tutti quei strcpy(), strcat() e strcmp(), usa le stringhe del C++.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
La cometa interstellare 3I/ATLAS potrebb...
Un triste giorno per l'industria videolu...
Il tuo mouse ti spia? La suite di gestio...
Proton presenta Lumo: l'assistente AI co...
Samsung Galaxy S26 Edge: più auto...
Escobar Inc.: una frode che porta il mar...
Apple e la smart home in arrivo? Nuovo H...
Anche Alfa Romeo lancia il suo incentivo...
Un braccialetto che ascolta e registra o...
OPPO Find X8 Ultra: il RE dei cameraphon...
DeepL sempre più potente: arrivan...
Addio a Shunsaku Tamiya, il papà ...
Il volontariato non può essere gr...
Baxi presenta le nuove pompe di calore a...
Solo 104€ per questo robot Lefant da 500...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v