Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-10-2007, 13:17   #1
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
[C Win32] programma per cercare determinati files...

vorrei creare un programma, batch, C o C++ se possibile che cerchi nel sistema la presenza di determinati files, e poi restistuisca un valore anche booleano, true o false...

ps. non sapevo se metetrlo qui o in programmazione, nel caso mi scuso...
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 13:28   #2
Kewell
Senior Member
 
L'Avatar di Kewell
 
Iscritto dal: Jan 2002
Messaggi: 32713
Programmazione mi sembra più appropriata
__________________
| Front & Rear: Arbour 5.02 | Center: Arbour C.4 | Sub: Arbour S.10 | Ampli: Onkyo TX-SR607 | Video: Panasonic TX-L47DT50 | Recorder: TS-6600HD |
Sorgente Video: Raspberry PI & Openelec + QNAP TS-869L WD Red 4x4TB | Musica Liquida: Squeezebox Touch | Remote Control: Harmony One |
Kewell è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 13:47   #3
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Se vuoi farlo con un file batch devi appoggiarti a programmi tipo grep, altrimenti fai riferimento alle funzioni WIN32 (es. FindFirstFile, FindNextFile, etc).

Ovviamente dovrai scrivere una funzione in grado di "traversare" il cosiddetto directory tree.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 13:51   #4
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
puoi spiegarmi nel dettaglio?
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 14:01   #5
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
puoi spiegarmi nel dettaglio?
Quale approccio? Quello con l'uso di un programma esterno oppure quello con le funzioni native (FindFirstFile per Windows, opendir/readdir per Linux)?

Nel primo caso devi semplicemente passare i parametri da linea di comando corretti, nel secondo devi scrivere una funzione ricorsiva che passi da una directory all'altra attraversando tutto il sottoalbero e che faccia una scansione dei file contenuti nella directory corrente. Non è difficile, ma se non hai un po' di esperienza non è neanche banale...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 14:09   #6
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
tieni conto che la mia esperienza con il batch è con del, deltree, ren...quindi quasi nulla... quindi nel dettaglio il programma mi deve dire se un file c'è o meno...si può?
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 14:11   #7
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
tieni conto che la mia esperienza con il batch è con del, deltree, ren...quindi quasi nulla... quindi nel dettaglio il programma mi deve dire se un file c'è o meno...si può?
La richiesta è ambigua.

Il programma deve esaminare una singola cartella o un albero di directory?
Deve restituire TRUE o FALSE per ogni cartella o un unico valore booleano al termine della ricerca?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 14:14   #8
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
deve restituire un valore bool per ogni directory e se possibile non dire nulla se è false... e dovrebbe esaminare una directosy alla ricerca appunto del file...
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 14:28   #9
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
deve restituire un valore bool per ogni directory e se possibile non dire nulla se è false... e dovrebbe esaminare una directosy alla ricerca appunto del file...
Bene, allora inizia a studiare le funzioni FindFirstFile e FindNextFile, butta giù una bozza di un programma in grado di cercare il file solo nella cartella corrente, poi lavoreremo insieme alla scansione di un albero di directory (è molto facile se si scrive una funzione ricorsiva).
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 18:00   #10
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
guide in italiano non ce n'è?
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 18:33   #11
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
guide in italiano non ce n'è?
Porzioni della MSDN sono tradotte in italiano, ma l'inglese tecnico è la lingua franca dell'informatica, ed in particolar modo della programmazione. Ti conviene imparare l'inglese (io l'ho fatto da autodidatta all'età di 9 anni per comprendere la documentazione dei programmi che usavo) ancora prima del C++ ...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 19:07   #12
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
si in effetti in inglese non trovo, nulla..vabbè lo tradurrò...in ogni caso grazie..mi ci metto e ti faccio sapere...
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 19:19   #13
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
scusa ma parla anche di findclose...che vuol dire..non è che potresti spigarmi in parole povere che è quella funzione?
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2007, 20:38   #14
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
scusa ma parla anche di findclose
FindFirstFile apre una ricerca, FindNextFile la prosegue e FindClose la chiude.

Scrivo un piccolo esempio didattico:

Codice:
#include <windows.h>
#include <stdio.h>

int main()
{
  WIN32_FIND_DATA ricerca;
  HANDLE h;

  // Apre la ricerca
  h = FindFirstFile("*.*", &ricerca);
  if (h != INVALID_HANDLE_VALUE) 
  {
    // Prosegue la ricerca
    do
	   if (GetFileAttributes(ricerca.cFileName) == FILE_ATTRIBUTE_DIRECTORY)
                 printf ("Cartella: %s\n", ricerca.cFileName);
	   else
                 printf ("File: %s\n", ricerca.cFileName);
    while (FindNextFile(h, &ricerca));
	// Chiude la ricerca
	FindClose(h);
  } 
  else 
  {
    printf("Errore %d\n", GetLastError ());
  }
}
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2007, 13:47   #15
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
è traducibile in C++ l'esempio?
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2007, 13:51   #16
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
è traducibile in C++ l'esempio?
Cioè? Cosa ci sarebbe da tradurre escludendo la gestione minimale dell'I/O?

Se sei alle prime armi ti suggerisco di concentrare la tua attenzione sullo studio del linguaggio (sintassi di base, STL, funzionalità avanzate ma comunque standard, etc), la programmazione di sistema ti risulterà molto più semplice quando avrai acquisito delle basi più solide. È inutile cercare di far funzionare codice altrui se si hanno delle grandi (e più che giustificate, visto che hai appena iniziato) lacune...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2007, 14:03   #17
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
le basi ci sono in C++ ma non in C, come avrai capito sono all'inizio, e tutti i parametri che necessitano printf e scanf mi sembrano più complòicati che utili, in C++ la cosa è più semplice...non trovi?
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2007, 14:12   #18
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
le basi ci sono in C++ ma non in C
Ma proprio le basi, basi... Ti servono molte più conoscenze di quelle che hai per sviluppare autonomamente applicazioni non banali.

Se il problema è rappresentato esclusivamente dalla gestione dell'I/O (parole grosse, per 2 stampe a video!) hai 2 alternative:

1) Sostituisci <stdio.h> con <cstdio> senza modificare altro

2) Sostituisci <stdio.h> con <iostream> ed usi gli stream al posto delle printf che ti risultano così indigeste
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2007, 14:18   #19
ste_95
Member
 
Iscritto dal: Jun 2007
Messaggi: 191
hai centrto in pieno, alcune cose non le capisco...come l'inclusione della libreria windows.h e i comandi per capurci in maiuscolo, inoltre dove studio il C++ non dicono niente a proposito di get e le sue funzioni...
ste_95 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2007, 14:38   #20
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
alcune cose non le capisco...come l'inclusione della libreria windows.h e i comandi per capurci in maiuscolo, inoltre dove studio il C++ non dicono niente
Spero che tu abbia scelto di studiare il C++ su un buon libro e non su tutorial più o meno improvvisati reperibili in rete.

È normale che libri sul C++ di carattere generale non trattino la programmazione di sistema, per quella ci sono testi specifici che andrebbero letti DOPO aver studiato e compreso a fondo TUTTI i costrutti di base (e magari anche qualcuno di quelli "avanzati"). Invertire le due fasi significa perdere tempo: una casa si costruisce dalle fondamenta, non dal tetto!

Come avrai notato la documentazione ufficiale è disponibile (quasi sempre) solo in inglese, dunque se non conosci questa lingua andrai poco lontano...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Airbus realizzerà altri 229 satel...
Arianespace lancerà altri satelli...
Eutelsat ha annunciato di aver affidato ...
PLD Space ha annunciato il nuovo razzo s...
CMF Clip Pro, tanta autonomia e design u...
Tre leggende del rally sbarcano in Asset...
iPhone 18 Pro Max, il chip A20 Pro mostr...
Samsung porterà il Privacy Displa...
WINDTRE BUSINESS trasforma la rete mobil...
Anthropic ammette un quarto caso di acce...
Mazda CX-6e, il primo test drive: quando...
La serie HONOR Magic 9 arriva a fine set...
Anker MagGo Power Bank 2 Pro arriva in I...
iRobot rilancia con Roomba Duo, il proto...
#linux su IRC è tornato dopo anni di sil...
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:00.


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