Torna indietro   Hardware Upgrade Forum > Software > Programmazione

BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C rappresenta l'ultima incarnazione della categoria dei tablet E Ink a colori di Onyx, e combina le prestazioni di un dispositivo Android con l'ottima tecnologia Kaleido 3 per il display. Con schermo da 10,3 pollici, un processore Qualcomm Snapdragon 750G e 6 GB di RAM, promette un'esperienza completa per lettura, scrittura e produttività. Il prezzo lo posiziona nel segmento premium, ma questo dispositivo è un vero spettacolo!
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia
Sony Xperia 1 VII propone un design sobrio e funzionale, con un comparto fotografico di ottimo livello caratterizzato da uno zoom continuo e prestazioni generali da top di gamma puro. Viene proposto con una personalizzazione software sobria e affidabile, ma presenta qualche criticità sul fronte ricarica rapida. Il dispositivo punta su continuità stilistica e miglioramenti mirati, rivolgendosi al solito pubblico specifico del brand giapponese.
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Poco F7 5G, smartphone che punta molto sulle prestazioni grazie al processore Snapdragon 8s Gen 4 e a un display AMOLED da ben 6,83 pollici. La casa cinese mantiene la tradizione della serie F offrendo specifiche tecniche di alto livello a un prezzo competitivo, con una batteria generosissima da 6500 mAh e ricarica rapida a 90W che possono fare la differenza per gli utenti più esigenti.
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


BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia Recensione Sony Xperia 1 VII: lo smartphone per ...
Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Il copyright distruggerà l'IA? Il...
Frantumato il record mondiale: ecco il g...
In Austria piacciono le elettriche: 5.00...
GPT-5 delude gli utenti: ChatGPT fredda,...
Enorme progetto fotovoltaico e batterie ...
Potenti Mac mini con chip M4 e M4 Pro in...
Apple scommette tutto su Siri: nel 2026 ...
Steam mostra finalmente la temperatura d...
Google Finance cambia volto: l'intellige...
Nuovo motore elettrico per e-bike super ...
Volete una TV da 32" Full HD a 129€? Su ...
Quasi 300 milioni di smartphone venduti ...
AI su Truth Social contraddice Trump: 'E...
Fantastic Four vs Superman: il botteghin...
Gigabyte Aero X16: equilibrio perfetto t...
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: 17:36.


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