Confronto stringhe di due TXT [VB.NET]

Final50

Utente Attivo
373
4
CPU
I7 3770K
Scheda Madre
Gigabyte D3H Z77
HDD
SSD 840 Pro 128gb
RAM
Gskill 16gb DDR3 1886 CL9
GPU
Radeon 7970 Ghz Ed 3gb GDDR5
PSU
XFX 750Watt
Case
CM Storm Scout II
OS
Windows 10
Salve.
Sto scrivendo un programmino che mi controlli passo passo tutte le stringhe di un file txt confrontandole con un altro e vorreiche automaticamente cencellasse le stringhe differenti e le riportasse in un altro txt.
Qaulcuno ha qualche idea?
Ho provato a leggere le stringhe ma poi non so come confrontarle in quanto dovrei aprire tutti e due i file contemporanemanete controllarlo e poi salvarlo con le modifiche e dovrei rendere la cosa ciclica (anche se questo lo si può fare anche co un loop alla fine...)
Consigli??
 

airex

Utente Èlite
2,394
14
CPU
Intel Core2Duo E6750
Scheda Madre
Gigabyte GA-G33M-DS2R
HDD
1x80GB Sata2 + 1x320GB Sata2
RAM
2 x 2048MB DDR2 800MHz
GPU
NVidia 8800GT 1GB
Audio
Intel HDA
Monitor
LCD Samsung 19"
PSU
LC Power Green Power V2.0 - 550 Watt
OS
Linux Slackware64

Final50

Utente Attivo
373
4
CPU
I7 3770K
Scheda Madre
Gigabyte D3H Z77
HDD
SSD 840 Pro 128gb
RAM
Gskill 16gb DDR3 1886 CL9
GPU
Radeon 7970 Ghz Ed 3gb GDDR5
PSU
XFX 750Watt
Case
CM Storm Scout II
OS
Windows 10
Molto interessante ma rimane sempre il problema che il programma dovrebbe lavorare in windows altrimenti dovrei prima fare delle operazioni in win poi eseguire il comando diff da linux per poi riportare il risultato in windows ma cmq per quello che voglio fare è realizzabile.
Grazie per l'aiuto ma saresti cosi gentile da spiegarmi esattamente la procedura per eseguire il comando (sai nno sono molto esperto di linux e quelle volete che ci ho provato a passare sa win a linux il wifi mi ha bloccato....)
 

airex

Utente Èlite
2,394
14
CPU
Intel Core2Duo E6750
Scheda Madre
Gigabyte GA-G33M-DS2R
HDD
1x80GB Sata2 + 1x320GB Sata2
RAM
2 x 2048MB DDR2 800MHz
GPU
NVidia 8800GT 1GB
Audio
Intel HDA
Monitor
LCD Samsung 19"
PSU
LC Power Green Power V2.0 - 550 Watt
OS
Linux Slackware64
diff accetta due parametri che sono i due file da confrontare e ti restituisce le "differenze" in termini di righe, tutto qui.

quello che volevo dire io era di guardare l'algortimo altamente efficiente usato in diff e sfruttarlo per i tuoi scopi.

al massimo potresti fare così (algoritmo da due soldi altamente ottimizzabile):
- apri secondo file
- crei array di 256 elementi in cui ciascun elemento è una lista/array a sua volta
- leggi riga per riga il file aperto e:
-- individuti il codice ascii (X) del primo carattere della riga
-- accodi alla lista/array in posizione X dell'array del secondo passo la riga letta (se fai un inserimento ordinato è meglio come prestazioni)
- chiudi il file aperto
- apri il file delle differenze in scrittura
- apri il primo file
- leggi riga per riga e :
-- prelevi codice ascii del prima carattere e cerchi se la stringa in esame è presente nella lista salvata in precedenza e avente come punto di inizio la posizione individuata da X
-- se non la trovi scrivi la stringa nel file aperto in scrittura
- chiudi il file in lettura
- chiudi il file in scrittura
 

Final50

Utente Attivo
373
4
CPU
I7 3770K
Scheda Madre
Gigabyte D3H Z77
HDD
SSD 840 Pro 128gb
RAM
Gskill 16gb DDR3 1886 CL9
GPU
Radeon 7970 Ghz Ed 3gb GDDR5
PSU
XFX 750Watt
Case
CM Storm Scout II
OS
Windows 10
Grazie! Ho capito anche se dovro studiarmelo parecchio credo che alla fine ci riuscirò
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!