Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-06-2009, 18:44   #1
bioxxx
Junior Member
 
Iscritto dal: Dec 2005
Messaggi: 6
[C] Acquisizione nomi file e cartelle

Ciao a tutti,
volevo sapere se era possibile (lavorando con OS Windows XP) acquisire in linguaggio C il nome di una lista di cartelle all'interno di un altra e il nome di altri file all'interno delle singole cartelle.
Provo a spiegarmi meglio...io ho la seguente cartella principale:

C:\clienti

all'interno di questa cartella ho altre cartelle con vari nominativi:

C:\clienti\rossi mario
C:\clienti\bianchi carlo
C:\clienti\verdi gianni
...
...


e all'interno di ogni cartella ho dei file:

C:\clienti\rossi mario\CI.txt
C:\clienti\rossi mario\CF.txt
C:\clienti\rossi mario\libretto.jpg
...
...

ebbene vorrei acquisire solo i nomi e avere come output a video qualcosa del genere:

nome cliente: rossi mario
file associati: CI.txt , CF.txt, libretto.jpg

...

qualcuno di voi saprebbe indicarmi come fare per importare i nomi e scorrere all'interno delle varie cartelle???

un grazie anticipato...Fabio
bioxxx è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2009, 19:10   #2
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
qui c'é un esempio che spiega come enumerare il contenuto di una directory in C su Windows: http://msdn.microsoft.com/en-us/libr...00(VS.85).aspx
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2009, 21:10   #3
Gino+89+
Member
 
L'Avatar di Gino+89+
 
Iscritto dal: Nov 2005
Città: Mantova
Messaggi: 115
Puoi usare la funzione system() (std lib) per salvare il contenuto delle cartelle in un file di testo attraverso il comando DIR:

Codice:
system("DIR C:\clienti >nomi.txt");
Poi accedi da C al file nomi.txt e ti ricavi i dati richiesti con una semplice operazione di lettura.
Gino+89+ è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2009, 13:00   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ci sono tanti modi, ma la maggior parte dipende dal compilatore e dal sistema operativo che usi. Quindi dicci il compilatore, il sistema operativo mi sembra che sia senza ombra di dubbio Windows.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2009, 15:41   #5
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
una domanda: in questi casi, se il programma deve essere portabile e i metodi esistono solo per ogni singola piattaforma come si procede? si risolve per ogni sistema operativo e nel programma si controlla l'so e si procede di conseguenza?

Ultima modifica di ndakota : 25-06-2009 alle 15:44.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2009, 15:48   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ndakota Guarda i messaggi
una domanda: in questi casi, se il programma deve essere portabile e i metodi esistono solo per ogni singola piattaforma come si procede? si risolve per ogni sistema operativo e nel programma si controlla l'so e si procede di conseguenza?
Si usa una libreria di più alto livello, se disponibile (fosse in C++ potrei consigliare le boost, o al limite anche le QT). Oppure si lavora per #define, scrivendosi la propria libreria che astrae il SO.

Ultima modifica di cionci : 25-06-2009 alle 15:52.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2009, 18:42   #7
bioxxx
Junior Member
 
Iscritto dal: Dec 2005
Messaggi: 6
grazie a tutti ragazzi per le risposte utilissime...
volevo sfruttare ancora questo post per un problema riguardante la creazione di cartelle...
sto scrivendo un programmino che crea una lista di cartelle ed ogni cartella prende il nome da un buffer di stringhe...
siccome lo devo usare unicamente io e quindi nn ho problemi di portabilita pensavo di usare il comando:

system("MKDIR C:\\Users\\Fabio\\Desktop\\xxxx");

al posto di "xxxx" pero volevo inserire in runtime un nome preso dal buffer...
quindi supponendo di avere il buffer:

ListaNomi[SIZE]={"AppData","Program",......}

volevo creare sul desktop la cartella "AppData" passando come argomento "ListaNomi[0]"....

qualcuno saprebbe per caso indicarmi quale sia la giusta sintassi per farlo....

grazie ancora...Fabio
bioxxx è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2009, 18:52   #8
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da bioxxx Guarda i messaggi
siccome lo devo usare unicamente io e quindi nn ho problemi di portabilita pensavo di usare il comando:

system("MKDIR C:\\Users\\Fabio\\Desktop\\xxxx");
orribile
usa la funzione CreateDirectory: http://msdn.microsoft.com/en-us/libr...55(VS.85).aspx


Quote:
al posto di "xxxx" pero volevo inserire in runtime un nome preso dal buffer...
quindi supponendo di avere il buffer:

ListaNomi[SIZE]={"AppData","Program",......}

volevo creare sul desktop la cartella "AppData" passando come argomento "ListaNomi[0]"....

qualcuno saprebbe per caso indicarmi quale sia la giusta sintassi per farlo....
se ho capito bene tu vuoi fare le seguenti cose:
- ottenere il path del desktop
- concatenargli la stringa puntata da ListaNomi[0]
- passare la stringa cosi ottenuta al primo parametro della CreateDirectory

per ottenere il percorso del desktop del tuo utente (o anche del desktop comune a tutti gli utenti se vuoi) puoi usare la funzione SHGetKnownFolderPath; attenzione peró alla versione minima richiesta: questa funzione é stata introdotta solo in Windows Vista, quindi il programma non funzionerá su XP; su XP dovresti usare la versione precedente di quella funzione che é SHGetFolderPath e che ormai é deprecata.

una volta ottenuto il percorso del desktop io ti consiglierei di evitare troppi sbattimenti per concatenargli un'altra stringa: wrappa la stringa ottenuta in un oggetto std::string o std::wstring, usa l'operatore += e poi riottieni una C-string col metodo std::string::c_str().
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2009, 19:07   #9
00pipp00
Bannato
 
Iscritto dal: Jun 2009
Messaggi: 7
Guarda che è molto piú semplice usare la funzione Trova_nome_file tramite metodo put_int_a...
00pipp00 è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2009, 19:13   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da 00pipp00 Guarda i messaggi
Guarda che è molto piú semplice usare la funzione Trova_nome_file tramite metodo put_int_a...
Che è questa roba
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2009, 19:56   #11
00pipp00
Bannato
 
Iscritto dal: Jun 2009
Messaggi: 7
...e aggiungo che se compilassi una dll utilizzando una query mySql interfacciata con un'estensione concatenata in m# avresti la possibilità di virtualizzare il processo... Che non é poco...
00pipp00 è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2009, 12:34   #12
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
bannate questa faccia da burla per cortesia?
in 7 messaggi non ha fatto altro che sparare minchiate a cavolo tanto per prendere per i fondelli la nostra intera categoria... povero frustrato
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2009, 12:36   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fero86 Guarda i messaggi
bannate questa faccia da burla per cortesia?
in 7 messaggi non ha fatto altro che sparare minchiate a cavolo tanto per prendere per i fondelli la nostra intera categoria... povero frustrato
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
iOS 27.2: l'iPhone chiede ai numeri scon...
Final Cut Pro integra MotionVFX e Apple ...
iMac M6 da 1.829 euro, MacBook Pro 14 M6...
RayNeo GT a 313,65€ su Amazon: occhiali ...
NVIDIA e Meta: 3 miliardi di dollari e p...
PHP2Shell: sfruttate attivamente le due ...
Raffreddamento passivo senza elettricità...
La deforestazione in Amazzonia crolla a ...
La luce del sole a mezzanotte, ecco come...
Oltre mille modelli 3D scaricati senza a...
274 brani di Elvis Presley sono stati us...
SVOLT avvia la produzione in serie di ba...
Apple rilascia macOS Sequoia 15.8.2 e Ta...
Attacchi hacker alla Camera: nel mirino ...
Android Auto prepara il numero preferito...
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: 17:41.


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