Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-01-2007, 18:52   #1
Prometheus ts
Senior Member
 
L'Avatar di Prometheus ts
 
Iscritto dal: Jan 2006
Messaggi: 2271
Aiuto programmino c++ (Visual c++)

Salve a tutti , stavo facendo un piccolo programmino per imparare e mi sono bloccato a questo punto , cioè riesco a leggere e scrivere da file , tuttavia quando mi scrive il file , se sono presenti altre righe , le cancella e le sovrascrive con la nuova , in pratica non riesco a fargli capire di aggiungere nuove riche e non cancellare tutto ...consigli?

Quote:

#include<iostream>//per cin , cout etc...
#include<fstream>//eof , fseek etc....
#include<iomanip>//per strcmp , confrontare stringhe
#include<conio.h>//per getch()
#include <stdlib.h>//per exit, atoi etc....
#include <string>//per usare getlineed il tipo stringa...
#include <vector>
// Our using statements.
using namespace std;

void inseriscicittà ();


// Our main() function.
int main()
{
//vettore di tipi string chiamato"listacittà"
vector<string> listacittà ;
string linea; // un oggetto può essere definito senza un valore di inizializzazione iniziale
// , nel qual caso il valore iniziale è una stringa vuota (lunghezza zero e nessun carattere):
ifstream città;//variabile di tipo ifstream chiamata "città"
int controllore=0; //valore che mi serve per il controllo del ciclo while successivo





// Next you will use the object's open function to open the text file.
città.open("Città.txt");//apre il file chiamato"Città"

// Validate that the file opened.
if(!città)
{
cout << "Errore , non è stato possibile aprire il file\a\n" << endl;
cout << "Premere un tasto per continuare..\a" << endl;
getch();
exit(1);
}




while(getline(città,linea))//fa anche un controllo , ossia se è vero che c'è
//una linea allora continua col while, getline prende il file e la riga.
{
listacittà.push_back(linea);// Aggiunge una linea alla fine del vettore col comando"pusch_back(oggettoaggiunto)"...
cout <<"["<<linea<< "]"<<endl;// Print out the string to the screen.
} ;


cout<<"numero città= "<< listacittà.size()<<endl;
città.close();
cout<<" vuoi aggiungere una nuova città?"<<endl;


while (controllore!=1)//il controllore mi serve per mantenere il loop sulla domanda.
{
switch ( getch() ) // con questo switch , confronto le risposte
//date con le lettere da inserire richieste.
{

case 'y' :
cout<<"\nDaccordo inserisci la nuova città\n "; // test numero uno.
inseriscicittà ( );
controllore=1;
break;

case 'n' :
cout<<"\nCome Desideri\n" ; // test numero due.
controllore=1;
break;

default :
cout<<"non ho capito puoi rispondere con un si = Y o un no = N?\n";// Process for all other cases.
controllore=0;

}
}


cout << "Premere un tasto per continuare...\a" << endl; // \a crea un suono.
getch();

return 0;
}





void inseriscicittà ( )
{
string nuovacittà;//variabile di tipo stringa che mi serve per inserire una nuova città.
ofstream Scrivicittà ("Città.txt");
if (Scrivicittà.is_open())
{
cout << "Inserisci una nuova città\n"<<endl;
cin>>nuovacittà ;
Scrivicittà.seekp (0, ios::end);
Scrivicittà<<(nuovacittà) ;

Scrivicittà.close();
}
else cout << "Unable to open file";

}
ovviamente per testarlo va creato un file texto con qualche città dentro....
__________________
RYzen 5900 asus rog strix z570-f Cors Veng 32 GB (4X8GB)DDR4 3600 MHz GTX 1080ti SEAG Barr 7200.10 - 320 Gb +750 + 2x 1Tb - 1 SDD120 GB + 1 SDD Crucial M4 480 GB corsair 950W - Case CorsCC-9011059-WW
Prometheus ts è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2007, 19:17   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
http://www.cplusplus.com/reference/i...ream/open.html

devi anche specificare la modalità di apertura, cioè append
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2007, 19:36   #3
Prometheus ts
Senior Member
 
L'Avatar di Prometheus ts
 
Iscritto dal: Jan 2006
Messaggi: 2271
Ho fatto questa modifica , ma non funziona sapreste dirmi perchè?

:/

Quote:

void inseriscicittà ( )
{
string nuovacittà;//variabile di tipo stringa che mi serve per inserire una nuova città.
ofstream Scrivicittà;
Scrivicittà.open("Città.txt", ios_base::openmode mode = ios_base::app );
if (Scrivicittà.is_open())
{
cout << "Inserisci una nuova città\n"<<endl;
cin>>nuovacittà ;

Scrivicittà<<(nuovacittà) ;

Scrivicittà.close();
}
else cout << "Unable to open file";

}
__________________
RYzen 5900 asus rog strix z570-f Cors Veng 32 GB (4X8GB)DDR4 3600 MHz GTX 1080ti SEAG Barr 7200.10 - 320 Gb +750 + 2x 1Tb - 1 SDD120 GB + 1 SDD Crucial M4 480 GB corsair 950W - Case CorsCC-9011059-WW
Prometheus ts è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2007, 19:38   #4
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
a memoria bisogna fare

Codice:
Scrivicittà.open("Città.txt", ios::app );
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2007, 19:53   #5
Prometheus ts
Senior Member
 
L'Avatar di Prometheus ts
 
Iscritto dal: Jan 2006
Messaggi: 2271
Ok grazie , ora funziona , ma dimmi , perchè è diverso da come scrivono invece sul sito ?
Inoltre in questo modo mi scrive la nuova città consequenzialmente all'ultima , sulla stessa rica quindi poi mi legge sempre una città invece che due , come per esempio RomaLondra tutto attaccato , come faccio a far si che scriva su righe diverse?
Senza possibilmente usare /n....o endl ?
__________________
RYzen 5900 asus rog strix z570-f Cors Veng 32 GB (4X8GB)DDR4 3600 MHz GTX 1080ti SEAG Barr 7200.10 - 320 Gb +750 + 2x 1Tb - 1 SDD120 GB + 1 SDD Crucial M4 480 GB corsair 950W - Case CorsCC-9011059-WW
Prometheus ts è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2007, 08:51   #6
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Quote:
Originariamente inviato da Prometheus ts
Ok grazie , ora funziona , ma dimmi , perchè è diverso da come scrivono invece sul sito ?
Inoltre in questo modo mi scrive la nuova città consequenzialmente all'ultima , sulla stessa rica quindi poi mi legge sempre una città invece che due , come per esempio RomaLondra tutto attaccato , come faccio a far si che scriva su righe diverse?
Senza possibilmente usare /n....o endl ?
se quando scrivi manualmente il file metti un newline alla fine, quando scrivi via programma devi scrivere "nomecitta\n", se invece alla fine del file il newline non c'è, da programma dovrai scriverci nella forma "\nnomecitta".
AngeL) è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Avio si prepara ai test del Dimostratore...
Space Pioneer ha annunciato le cause del...
Anthropic avrebbe nuovi antibiotici cont...
Scoperto un 'moltiplicatore nascosto' ne...
DREO: a IFA 2026 4 novità fra cui...
Slackbot genera dashboard e microsite de...
Idrogeno, nuova cella a combustibile rag...
Con la NASA fuori dai giochi, l'ESA risc...
Una falla di ChatGPT permette di estrapo...
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: 08:59.


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