PDA

Visualizza la versione completa : [C++] Aggiungere righe ad un file di testo in Linux


oni305
21-06-2007, 12:00
1)
Come posso aggiungere 1 riga in fondo ad un file txt?

2) io sotto Win per aprire lo stream faccio:
ifstream ifs("C:\\nomefile");

sotto linux come dovrei fare?

LeleFT
21-06-2007, 12:17
Originariamente inviato da oni305
1)
Come posso aggiungere 1 riga in fondo ad un file txt?

2) io sotto Win per aprire lo stream faccio:
ifstream ifs("C:\\nomefile");

sotto linux come dovrei fare?
1) Devi aprire il file in APPEND

2) ifstream ifs("/percorso/al/tuo/file");


Ciao. :ciauz:

oni305
24-06-2007, 10:41
mmm non ho capito come fare, mi potreste scrivere unna righetta di codice?

leggendo da file faccio cosi:



ifstream ifs("C:\\Prova.txt"); // Apro lo stream del file

while(ifs) // finché giungo alla fine del file,
{
ifs.getline(line, 100000); // prendo una linea per volta (max 100000 char) e...
{
if (contatore_righe==0) { //ciclo per vedere se è la prima riga
contatore_colonne=0; //contatore per le colonne
pch = strtok (line,"\t"); //Spezzo la stringa (linea) quando trovo un TAB ( \t )
while (pch != NULL) //Attenzione, se ci sono 2 tab senza nulla in mezzo termina non concludendo la linea
{
contatore_colonne ++; // incremento il contatore delle colonne
if (contatore_colonne==N_CAMPO1) //posizione 1
{campo1= pch;
cout << " -> posizione 1a" << endl;};
//......
pch = strtok (NULL, "\t");
};
};
};
ifs.close();


Ora in fondo al file dovrei aggiungere una riga composta da tanti "<ND>" separati da Tabulzazioni "\t", a parte in alcune posizioni in cui dovrei mettere dei valori differenti

come potrei fare?

Loading