Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-05-2008, 23:01   #1
Alex88na
Member
 
Iscritto dal: Dec 2005
Messaggi: 135
[C++] Problema con il salvataggio in un file con struct con campo string

Salve, se dichiaro un campo di una struct di tipo stirng non ho nessun problema, i problemi nascono quando devo caricare dei struct con campi di tipo string da un file binario in un array, vi posto il codice:

Codice:
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
 
//STRUCT
struct Tpdata{
       int giorno;
       int mese;
       int anno;
};
 
struct Tpsoci{
       char nome[20];
       char cognome[20];
       string indirizzo;
       Tpdata data;
};
 
//PROTOTIPI
void inserimento(Tpsoci &);
 
int main() {
    const int max=100; 
    char nome_file[max];
    int NumSoci;
    Tpsoci socio;
    const int LSoci=sizeof(socio);
 
    cout << "Inserisci il nome del file: "; cin >> nome_file;
    fstream file1;
    file1.open(nome_file, ios::in|ios::out|ios::binary);
    if(!file1){ 
                cout << "Il file non e' stato trovato ed e' stato creato." << endl;
                file1.open(nome_file, ios::in|ios::out|ios::binary|ios::trunc);
                file1.clear();
                cout<<"\nInserisci il numero di soci da salvare: "; cin>>NumSoci;
                cout << "\n\nScrivere sul file"<<endl;
                for(int i=0; i<NumSoci; i++){
                             inserimento(socio);
                             file1.seekp(0, ios::end);
                             file1.write((char*) &socio, LSoci);                           
                }
    }
 
    file1.seekg(0, ios::end); //mi posizione alla fine
    NumSoci=file1.tellg()/LSoci; 
    file1.seekg(0, ios::beg); //mi posizione all'inizio
 
    cout<<"NumSoci: "<<NumSoci<<endl;
    cout<<"\n\nStampa da file\n\n";
    for(int i=0; i<NumSoci; i++){
                 cout<<"Socio numero "<< i+1 <<endl;
                 file1.read((char*) &socio, LSoci);
                 cout << "Nome socio: " << socio.nome 
                      << "\tCognome: " << socio.cognome 
                      << "\tIndirizzo: " << socio.indirizzo
                      << "\tScadenza tessera: " << socio.data.giorno
                      << '/' << socio.data.mese << '/' << socio.data.anno
                      << endl;                                            
    } 
    file1.close();
 
    system("pause");
}
 
 
void inserimento(Tpsoci &socio){
     cout << endl;
     cout << "Inserisci il nome: "; cin >> socio.nome;
     cout << "Inserisci il cognome: "; cin >> socio.cognome;
     cin.ignore();
     cout << "Inserisci l'indirizzo: "; getline(cin, socio.indirizzo);
     cout << "Dati di iscrizione" << endl;
     cout << "Inserisci il giorno: "; cin >> socio.data.giorno;
     cout << "Inserisci il mese: "; cin >> socio.data.mese;
     cout << "Inserisci l'anno: "; cin >> socio.data.anno;
}
Ed ecco gli screen:

Nell'inserimento dei dati nell'array di record e nlla sua stampa non ho problemi:


Chiuso il programma, lo rieseguo ed ecco cosa succede:


Il programma va in crash
Alex88na è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Windows 11, il Patch Tuesday di novembre...
Lenovo aggiorna la gamma ThinkSystem: pr...
Serie Galaxy S27 in arrivo: prezzo in au...
Alexa.com è disponibile in Italia: Alexa...
AliExpress, 4 tablet a super prezzi per ...
Google Gemini: i contenuti di Gmail e Dr...
Microsoft ha scoperto come trasformare u...
Chrome 157, meglio aggiornare subito: Go...
BYD e Geely all'assalto della Formula 1?...
Le novità di Windows 11 per il Pa...
Windows 10 si aggiorna ancora: Microsoft...
Anche l'intelligenza artificiale tra le ...
ASUS ha annunciato il nuovo ROG NUC 16 c...
Smartphone con memorie 'riciclate': &egr...
Photoshop, Relight esce dalla beta: fino...
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: 14:14.


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