Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
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


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
IFA 2025: FRITZ! tra rebranding, Wi-Fi 7...
Sono prezzi super: MacBook Pro con chip ...
Huawei non si ferma: è leader del...
AirPods Pro 3 già disponibili su Amazon:...
Battlefield 6: modalità Battle Royale gi...
Microsoft cambia rotta sul lavoro ibrido...
Una power station portatile da 1075Wh e ...
PayPal porta in Italia i pagamenti a rat...
ESA Solar Orbiter ha studiato il flusso ...
Larry Ellison guadagna 101 miliardi in u...
Johnson Controls amplia la gamma di solu...
NASA Perseverance: il rover potrebbe ave...
Quelli di Immuni si 'pappano' Vimeo: Ben...
Changan lancia la Deepal S05 in Europa, ...
Substrati in vetro, Intel smentisce le v...
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:16.


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