Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2005, 15:55   #1
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
[C++] ha senso creare questa libreria per il parsing di file?

Ciao,
pensavo di crearmi una libreria per fare parsing di file.
Le funzionalità della libreria devono essere:

trovare l'offset del primo carattere che si trovi all'interno di un file dopo un pattern passato come stringa. I limiti in cui verrà ricercato il carattere sono comunque compresi fra: SEEK_SET e SEEK_END

pseudo codice (non fate troppo caso agli errori):

Codice:
long seek_pattern(long start,long search_limit, string pattern, FILE * file){
    string buffer;
    if(start>SEEK_END)
	return -1;
    
    if(search_limit>SEEK_END)
	return -1;

    fseek(msmFile,SEEK_SET,start);
    
    string::size_type len;
    len = pattern.length(); 
    int length << len;
    
    if(search_pattern(file,search_limit,pattern,buffer)==true)
	return ftell(file);  
}
la funzione search_pattern è ricorsiva e ricercherà all'interno del file il pattern richiestro confrontando di volta in volta i caratteri che sta leggendo.

Ad esempio alla prima chiamata della funzione se si sta leggendo 'c' dal file e il primo carattere del pattern è 'c' allora richiamerà se stessa passandogli il buffer + 'c', altrimenti richiamerà se stessa passandogli il buffer vuoto.

es pseudo codice

Codice:
bool search_pattern(FILE*file,string pattern,string buffer)
 la funzione richiama se stessa passando il buffer + 
il carattere che sta leggendo nel caso il carattere del buffer corrisponda all'iesimo carattere della stringa. 
Altrimenti richiamerà se stessaa passando il buffer vuoto. 
Si arriverà al caso baso nel caso in cui il buffer sia uguale alla stringa passata come pattern o nel caso in cui si sia raggiunto il limite di ricerca. 
Verrrà restituito true se il pattern è stato trovato. false altrimenti.
Queste due funzioni .. .che ovviamente ora sono da correggere, perchè sono solo un'idea di massima.. poi saranno utilizzate per trovare la posizione dopo un pattern all'interno di un file. Trovata la posizione verrà chiamata ad esempio la funzione:

Codice:
double * get_ndouble(int n_of_double_to_obtain,FILE *file,long limit){
  //converte i caratteri che trova (Se numerici) in double
  //e li salva nell'array che poi restiuira 
  // tutto questo fino al limite limit di ricerca passato 

}
la quale restituira un puntatore ad una array di double trovati da quel punto in poi del file.

e cos' via per gli int e gli altri tipi fondamentali...

tutto questo per poter ricavare da un file degli array contententi valori che si trovino in una certa posizione e cosi in qualche modo simulare perl con le sue funzionalità di pattern matching su file.

Grazie per la pazienza e non distruggete questo thread dicendo che ho scritto codice che fa schifo perchè ripeto è solo una bozza di idea..

Thanks!

PS: esistono già librerie in c++ che fanno ciò?

Ultima modifica di shang84 : 13-11-2005 alle 16:00.
shang84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Ultimo giorno del 15% di sconto Amazon S...
Un ottobre ricco di novità per Ap...
Samsung Galaxy S27 Ultra, i rumor contin...
'Per essere liberi bisogna essere temuti...
Ecco i 4 mini PC migliori del Prime Day ...
6 portatili TOP ancora disponibili con A...
Apple Intelligence occupa troppo spazio?...
GTA 6 in streaming solo su XBOX Cloud Ga...
Mistral Large 4 'Le Chonk', il nuovo mod...
XBOX torna a crescere: Asha Sharma rilan...
Hyundai IONIQ 3: l'abbiamo guidata per l...
Ricarica wireless dinamica fino a 150 kW...
Troppi report invalidi generati dall'IA:...
Furto di identità su scala nazion...
HPE vende i primi sistemi AMD Helios per...
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: 07:39.


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