Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-02-2010, 11:13   #1
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
[C++] Ricerca stringa in un file.txt

Salve a tutti.
Avete qlc idea di come si faccia a cercare una stringa in un file.txt??
Per fare un esempio pratico:

File.txt

Lunedì 1 Gennaio
Martedì 2 Gennaio
Mercoledì 3 Gennaio
ecc ecc

Supponiamo che debba ricercare o estrarre 'Mercoledì'... Come faccio?
Premetto che conosco la libreria fstream quindi come aprire, chiudere, leggere e scrivere un file...
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 11:38   #2
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Quote:
Originariamente inviato da pixie Guarda i messaggi
Salve a tutti.
Avete qlc idea di come si faccia a cercare una stringa in un file.txt??
Per fare un esempio pratico:

File.txt

Lunedì 1 Gennaio
Martedì 2 Gennaio
Mercoledì 3 Gennaio
ecc ecc

Supponiamo che debba ricercare o estrarre 'Mercoledì'... Come faccio?
Premetto che conosco la libreria fstream quindi come aprire, chiudere, leggere e scrivere un file...
Non ho capito, ti serve la prima parola della riga?
In questo caso, se la memoria non mi inganna, puoi tranquillamente leggere una riga ed usare una strtok() per splittarla, passandogli lo spazio come carattere divisore. A quel punto, ti tieni il primo token ("Mercoledì"), scarti i successivi ("3" e "Gennaio") e passi a leggere la riga successiva.
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 11:45   #3
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
no perchè ti spiego... Devo creare un calendario in cui memorizzo degli eventi....supponiamo che ho inserito l'evento "Andare a prendere il pane" in una x data e "Andare a prendere il prosciutto" in un'altra y data...Ah tt quanto è in un file.txt....
Ora devo fare una ricerca e inserisco: "andare a prendere"....
Come risultato mi darà:
"Andare a prendere il pane" e "Andare a prendere il prosciutto"
T è più chiaro?
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 12:00   #4
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Se devi cercare le sottostringhe, sempre se la ruggine nei miei neuroni non è troppa, ti conviene utilizzare la funzione find della <string.h>.
Leggi la riga del file, con la find controlli se la stringa che stai cercando è presente nella riga letta (ovvero è una sua sottostringa), e in caso positivo aggiungi la riga letta al risultato.

P.S. Questo è un forum e di spazio ce n'è a volontà, cerca di evitare le abbreviazioni tipiche da sms (tt, t, nn et similia) perchè rendono la lettura di difficile comprensione, almeno per noi anziani che i cellulari li abbiamo scoperti in tarda età
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 12:02   #5
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
ah scusami ... lo faccio senza volere....ok ade provo...grz mille
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 12:04   #6
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 13053
Come ha detto yorkeiser usando la funzione strtok() passandogli il carattere spazio, puoi separare le varie parole.

A quel punto puoi fare un ciclo usando la funzione strncmp() con la stringa che devi cercare, e fargli stampare solo i token che soddisfano strncmp()==0.

Edit: mm nel tuo caso vuoi la frase di origine a quanto ho capito, questo complica le cose... Devi usare altri tokens per separare le singole frasi.

Come le separi le frasi?

Edit: ok prova ad usare la funzione strstr(), sembra funzionare bene per il tuo scopo senza ulteriori complicazioni, l'unica cosa è che è case sensitive (ovvero fa distinzione tra maiuscole e minuscole).

http://www.cplusplus.com/reference/c...string/strstr/

Ultima modifica di WarDuck : 16-02-2010 alle 12:13.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 12:31   #7
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 22305
ciclo di lettura a righe del file e all'interno cerchi il primo carattere spazio poi ottieni la sottostringa con strncpy
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 12:36   #8
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
E' in C++ impariamo ad usare la libreria del C++

ostringstream e passa la paura Dopo puoi usare l'operatore >> per ottenere ogni parola di una riga in una string.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 16:05   #9
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
wow ma quante risposte ... magari parleranno di noi a studio aperto...vabbè divagando con i pensieri a parte... grazie mille a tutti delle risposte....
Cionci: è per un progetto di università. Credo che il professore voglia che utilizziamo nel progetto solo le cose viste in classe... Comunque ora chiedo...se si può vedo come funziona la libreria che mi hai enunciato...
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 16:08   #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
In classe hai fatto strtok ?
Mi immagino che in classe tu abbia fatto gli stream (cout, cin o fstream).

stringstream è uno stream e si usa come tutti gli altri stream. Solo che preleva i dati da una stringa passata al costruttore.

PS: ho sbagliato, serve istringstream
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 17:53   #11
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 22305
Quote:
Originariamente inviato da pixie Guarda i messaggi
wow ma quante risposte ... magari parleranno di noi a studio aperto...vabbè divagando con i pensieri a parte... grazie mille a tutti delle risposte....
Cionci: è per un progetto di università. Credo che il professore voglia che utilizziamo nel progetto solo le cose viste in classe... Comunque ora chiedo...se si può vedo come funziona la libreria che mi hai enunciato...
se il corso è simile a quelli di ingegneria allora vai come ti ho detto io che è il sistema più base esistente
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 17:57   #12
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 !fazz Guarda i messaggi
se il corso è simile a quelli di ingegneria allora vai come ti ho detto io che è il sistema più base esistente
In effetti dipende un po' dal corso. Se los copo è quello di imparare cicli, if, condizioni e la manipolazione di stringhe in stile C allora è la soluzione migliore.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2010, 20:33   #13
pixie
Member
 
Iscritto dal: Apr 2006
Messaggi: 264
Si in effetti utilizzare la libreria che mi hai detto non sarebbe indice di voler fare le cose (anche se voglio dire: se le hanno fatte ste librerie perchè non potrei usarle ) vabbè...grz mille comunque dell'aiuto
pixie è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2010, 08:24   #14
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 pixie Guarda i messaggi
Si in effetti utilizzare la libreria che mi hai detto non sarebbe indice di voler fare le cose (anche se voglio dire: se le hanno fatte ste librerie perchè non potrei usarle ) vabbè...grz mille comunque dell'aiuto
Ma in un corso base di programmazione solitamente bisogna reinventarsi anche la ruota E' così che funziona.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
SanDisk Extreme da 128 GB a 31,96€ su Am...
Termoventilatori Dreo e Philips in offer...
Una ASUS ROG Astral RTX 5090 come regalo...
iPad Air 11'' M4 a 999€ con 256 GB su Am...
Sony WH-CH530 su Amazon a 49,90€ in tutt...
OpenCode colpito da un attacco di distil...
Mercedes-AMG GT SUV: da 0 a 100 in 2,5 s...
Possiedi davvero i tuoi giochi digitali ...
Linux 7.3 è uscito: I/O e Btrfs più rapi...
Arriva iResOps, la soluzione di Veeam pe...
Antivirus da 13,99€ su Amazon: McAfee e ...
Anthropic propone una soglia di 1 miliar...
Testate nucleari contro asteroidi, le si...
Denuvo vuole dare un nome al cracker voi...
La RTX 3090 non va ancora in pensione: Q...
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: 13:46.


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