Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - files c++
Forum - C/C++ - files c++ - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 12:16
Venerdì, 28/12/2007
ottimo grazie..
ma per quella faccenda degli spostamenti?
per muoversi all'interno del buffer con le freccette?

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 12:41
Venerdì, 28/12/2007
devi trovare il modo di "beccare" la freccia, e se uno preme la freccia sposti il carret con quel codice che ti ho mostrato.

basta che ti studi la classe string.

PM Quote
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 14:03
Domenica, 30/12/2007
ciao net..
scusa se ti disturbo un'altra volta..
però ho un ultimo problemino..

una volta copiati tutti i caratteri nella stringa e, in seguito, salvati sul file..
la formattazione iniziale del file parte..

per formattazione intendo il punto a capo del file originale..

fammi sapere se si può fare qualcosa..

grazie mille

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 12:53
Lunedì, 31/12/2007
allora se la formattazione parte la prima cosa che mi viene in mente è che su windows l'andare è capo non è il normale \n ma \n\r (o\r\n non ricordo), quindi potresti  fare un replace dei \n in \n\r (o  \r\n prova quale va).

Altra cosa che potrebbe essere è che la lettura si fermi fino allo spazio o al ritorno a capo e non lo includa, quindi come ti ho corretto prima con quel
buffer += tmp + " "

bisogna fare il concatenamento anche degli acapi.

Mi pare di ricordare che ci fosse qualche funzione che dicesse di includere anche il limitatore nel dubbio cmq un'altra alternativa è leggere riga per riga invece di parola per parola, quindi prova così:

Codice sorgente - presumibilmente Plain Text

  1. ...
  2. while(getline(in, tmp)) {
  3.   buffer += tmp + "\n";
  4. }
  5. ...



poi prima di scrivere nel file i \n devono diventare quello giusto fra \n\r e \r\n (magari vanno bene entrambi prova o cerca su google)

PM Quote
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 18:34
Mercoledì, 02/01/2008
sisi avevo trovato anch'io la soluzione getline..
però ha un piccolissima pecca..

ovvero la lunghezza della riga rispetto ai caratteri suportati dalla console..
quindi dovrei trovare un modo per allargare la lunghezza della finestra di console..

avevo trovato SetConsoleSize(const COORD size) ma nn riesco ad implementarla correttamente..:d
te ne intendi di API?:k:

fammi sapere..grazie mille..

PM Quote
Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 20:59
Mercoledì, 02/01/2008
scusa net..
ho riscontrato un problema un pò bruttino..
per gestire le righe uso un vettore dinamico di string..
e fin qui tutto ok..
per caricare le il testo dal file nel vettore in genere uso l'operatore di assegnazione..
però ora col vettore dinamico il programma mi crasha..

questo è il ciclo per "inizializzare" il vettore dinamico..ed è il punto in cui c'è il problema..

Codice sorgente - presumibilmente Plain Text

  1. while(!myfile.eof()){
  2.                   getline (myfile,line);
  3.                   (vet+righe)->assign(line);
  4.                   righe++;
  5.                  }


righe è un contatore per scalare le celle dell'array..
non so veramente perchè così nn mi funziona..
forse sbaglio metodo della string?:-?

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 21:30
Mercoledì, 02/01/2008
nono per vettore intendevo il vector della STL:

vector<string> v;

e l'aggiunta delle linee con push_back, l'operatore [] per ottenere linee particolari pop per l'ultima ecc...

controlla la cppreference per più info

per quanto riguarda

SetConsoleSize

dovrebbe essere

COORD c;
c.X = larghezza
c.Y = altezza;

SetConsoleSize(c);

Cmq nel caso di dubbi con le API la documentazione di riferimento è MSDN

Ultima modifica effettuata da netarrow il 02/01/2008 alle 21:38
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo