Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-01-2007, 19: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, 20: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, 20: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, 20: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, 20: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, 09: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


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
I videogiochi perdono sempre più ...
Tornano 2 portatili HP tuttofare a buon ...
POCO X8 Pro e Pro Max: ecco tutte le spe...
Torna a 899€ DREAME X50 Ultra Complete, ...
Il mercato smartphone è cresciuto...
MacBook Pro M5 scontato di 200€ reali: 1...
Perplexity cambia idea: la pubblicit&agr...
Smartphone Android in offerta su Amazon:...
OPPO ha un altro Find X9 in arrivo ed &e...
Meta ci riprova: l'azienda starebbe lavo...
Corsair 4000D Vault Galaxy e Nova: color...
Amazfit T-Rex Ultra 2: lo smartwatch per...
AOC propone un QD-OLED al prezzo di un I...
AGCOM segnalerà la AI Mode di Goo...
L'Estonia porta ChatGPT in classe: firma...
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: 09:44.


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