Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-01-2011, 14:58   #1
zanardi84
Senior Member
 
L'Avatar di zanardi84
 
Iscritto dal: Apr 2004
Città: La regione del Triplete
Messaggi: 5749
[C/C++] Funzione di scrittura su file

Ho una funzione che deve scrivere alcuni dati su file.
La scrittura nel formato che ho scelto comporta una sequenza di if.
Ad esempio in pseudocodice.
Codice:
if (casoA)
{
fout << quello che devo;
}
else if (casoB)
{
fout << quello che devo 2;
}...
Visto che la medesima sequenza serve in più parti del programma, vorrei scrivere una funzione dedicata, solo che non so come impostarla.

Al momento, prima della sequenza che ho riportato, apro il file (ci sono occasioni in cui l'apertura è in accodamento, mentre in altre è come file nuovo), eseguo la scrittura, poi chiudo il file.

Se io scrivessi una funzione con una chiamata del tipo
Codice:
scrivi_file(parametri);
dovrei comunicare in qualche modo, nei parametri, il file su cui deve scrivere, o scriverebbe su quel file aperto in automatico?

Nel caso in cui dovessi comunicare il file, come dovrei fare?

Non so se sono riuscito a essere chiaro.
Grazie.
__________________
Trattative felicemente concluse con domienico120, xbax88 ed engiel, ottimi e seri utenti.
zanardi84 è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2011, 15:37   #2
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8287
Dipende se devi scrivere su 1 solo file o se devi gestire più file. Se hai 1 solo file deleghi alla funzione la gestione di quel file, dichiarandolo tra le variabili globali se stai usando 1 solo sorgente .cpp, oppure la metti nell'header .h dove scrivi le funzioni, header che dovrai includerai nel .cpp. Cmq nel caso semplice 1 solo file 1 solo sorgente:

Dichiari una variabile di tipo file globale e ti crei una funzione che scrive un file del tipo:

Codice:
int scrivifile (String frase_da_scrivere)
{
   //Apri il file in scrittura append, se genera errori return 1, altrimenti
   //Scrivi nel file la frase
   //Chiudi il file
   return 0;
}

...

void main()
{
   String frase;
   //blablabla
   scrivifile(frase);
}
Se vuoi gestire anche gli errori un po' meglio nel main():
Codice:
void main()
{
   String frase;
   //blablabla

   if(scrivifile(frase))
   {
      //Scrittura fallita
   }
   else
   {
      //Scrittura OK
   }
}
__________________
System Failure
Perseverance è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
SteelSeries Aerox 3 Wireless Gen 2 recen...
Tesla nel deserto senza batteria: il via...
Meta licenzia a partire da fine maggio: ...
TV TCL QLED da 65 pollici a 491€ su Amaz...
Windows 11, l'aggiornamento di aprile è ...
Niente iPhone 18 base nel 2026? Ecco la ...
Tinder introduce la scansione dell'iride...
Google sta per aggiungere luci colorate ...
PS6 potrebbe offrire prestazioni tre vol...
SK hynix ha avviato la produzione di mod...
Microsoft non ha pace sul Menu Start di ...
Cinque robot aspirapolvere e lavapavimen...
De'Longhi Tasciugo AriaDry: il deumidifi...
Robot più veloci dell'uomo: la me...
Palantir-manifesto, tra tecnologia e ide...
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: 11:09.


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