|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
|
[c++]Lettura da file
come posso riuscire a capire se il dato che leggo da file è un char o un int?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13" Concluso affari con: bottoni,skino,semmy83,alex_ |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Come lo leggi ?
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: May 2003
Città: vivo ancora sulla terra..ma per poco ancora
Messaggi: 50
|
Re: [c++]Lettura da file
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
|
apro il file con fstream e metto il primo valore nel file aperto..
come faccio ad identificarlo?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13" Concluso affari con: bottoni,skino,semmy83,alex_ |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Che intendi per identificarlo...sinceramente non ho capito...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
|
io leggo un insieme di dati da file,li metto in un vettore.
Se sono char faccio una cosa,se sono int un'altra. come faccio a capire se sono char o int?
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13" Concluso affari con: bottoni,skino,semmy83,alex_ |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ma chi ce li ha messi questi dati nel file ?
Quando si legge un file binario bisogna conoscere a priori il formato del fle... |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Empoli (firenze)
Messaggi: 1521
|
il file viene preso in input!!!!!
possibile che sia così difficile da capire?? apro il file,leggo il primo dato e devo controllare se è char o int!!
__________________
Imac 20" + iphone 4 16gb + MacBook Pro 13" Concluso affari con: bottoni,skino,semmy83,alex_ |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il file è memorizzato sequnzialmente...non puoi determinare se è un char o un int...
Ma è un file di testo o è un file binario ? |
|
|
|
|
|
#10 | |
|
Member
Iscritto dal: May 2003
Città: vivo ancora sulla terra..ma per poco ancora
Messaggi: 50
|
Quote:
Se tu memorizzi una cosa sul disco questa è una sequenza di 1 e di 0 senza senso, sei poi tu come programmatore che andando a leggere puoi dare un senso a quel ceh leggi..quindi se vuoi leggere un char (8 bit) leggi una seguenza di 8 simboli, se vuoi un intero (int su 16/32 non ricordo Spero di averti fatto capire perché hai spiazzato tutti con questa domanda ciao ciao |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2001
Città: Kasteddu
Messaggi: 1890
|
Re: [c++]Lettura da file
Quote:
a meno che il file sia composto solo da char che tu vuoi interpretare come int o come char a seconda del valore trovato... ma non credo che ti riferissi a questo. Ciao
__________________
Asus P5Q-E - Intel Q6600 - Corsair 4GB DDR2 - Radeon HD5770 - Seagate 320GB sata2 16M - Audigy2 ZS Acer Aspire 3023 WLMI |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Torino (Studio) - Siracusa (Famiglia)
Messaggi: 1415
|
beh, se hai già una variabile (poi sono fatti tuoi come te la crei o leggi o altro) puoi usare sizeof()
__________________
« Ho fatto affari con Andrea_yota, crisis, djrome, felixmarra, FENZ, ironia, JACK83, klimt78, lubga, Megabit, Mr.Jack, sochmell, ZioPippoSSJ, drak69, Cuto82» Ansquare! Domanda, rispondi, guadagna ricompense! |
|
|
|
|
|
#13 | |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Re: [c++]Lettura da file
Quote:
Se sono in formato binario non c'e' modo di distinguerli se non preponendo un carattere identificativo. Se sono in formato testuale puoi usare qualcosa come il seguente Codice:
#include <cctype>
#include <iostream>
using namespace std;
void foo( istream& in )
{
if ( isdigit(in.peek() ) )
{
int n;
in >> n;
cout << "Numero: " << n << endl;
}
else
{
char c;
in >> c;
cout << "Carattere: " << c << endl;
}
(potresti ad esempio saltare eventuali gli spazi con while ( isspace(in.peek()) ) in.ignore(); prima dell'if. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:29.



















