|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2007
Messaggi: 642
|
[C] Smembrare un file .txt in file più piccoli
Salve, ho un gigantesco file .txt (131 MByte), che contiene varie informazioni. Devo suddividerlo in circa 8500 file .txt più piccoli, che devono prendere il nome dei sottotitoli di questo file. Il file è inquinato... non mancano byte, ma ce ne sono alcuni in più, diciamo "rumore", che devo eliminare. Questo rumore ha una sua regolarità, contiene una stringa fissa, più alcuni byte di "impurità" a sinistra o a destra. Il mio problema è: una volta che identifico il sottotitolo giusto (a questo ci penso io) e lo salvo in una stringa, come faccio a creare un file .txt avente per nome quella stringa, e salvarci dentro il contenuto? Il secondo problema è: c'è qualche algoritmo particolare per identificare e confrontare un gran numero di stringhe (le "impurità") avanti e indietro per un file di 131 MByte senza metterci anni?
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
scusami per il ritardo; ma quello che ti server molto probabilemente è un suffix tree
http://en.wikipedia.org/wiki/Suffix_tree
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2007
Messaggi: 642
|
Grazie mille per la risposta! Studierò per bene il suffix tree. Rimane il problema (credo anche banale, ma sono inesperto) del come creare un file .txt avente per nome una stringa data.
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
fopen fwrite e tutta la parte di libreria che operano sui puntatori al tipo di data FILE sono per te
http://www.google.it/search?hl=it&q=...IT334&ie=UTF-8
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Quote:
Codice:
FILE* f; char* stringa; stringa = (char*)malloc(<dimensione massima nome del file>); [...] assegnazione del nome del file a stringa, banalmente con una strcpy [...] f=fopen(strcat(stringa,".txt"),"w"); fprintf(f,"..."); [...] fclose(f);
__________________
Il sole è giallo |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:16.




















