Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Arrivato sul mercato italiano a fine marzo, la serie Boox Go 10.3 (Gen II) offre Android 15, penna da 4096 livelli e retroilluminazione opzionale (nel modello da noi provato, Lumi, presente). La serie si compone di due tablet ePaper che fanno da e-reader, blocco note digitale e persino browser, tutto a un prezzo che fa dimenticare i prodotti di brand più blasonati
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-01-2008, 17:11   #1
ciuaz!!!
Senior Member
 
Iscritto dal: Sep 2003
Messaggi: 572
[C++] Domanda su DevC++, come leggere da file input?

Ciao ragazzi, ho un problema: ho creato un programmetto sotto Linux, che legge da un file di testo un numero (es: 234. il punto segnala la fine) e me lo trasforma in binario.

...ora vorrei fare la stessa cosa sotto Windows e utilizzando DevC++, sapete come fare?
Quando eseguo il programma mi esce solo il file di output, che dovrebbe contenere -appunto- la trasformazione, ma NON RIESCO A FARGLI PRENDERE L'INPUT!

Per precisione, questo è il programma:

#include<iostream>
#include<fstream>
using namespace std;

int main()

try //apertura file

{
ifstream IN ("input");
ofstream OUT ("output");
if(!IN || ! OUT)
throw (0);

char x,b;
int r,n,a;
n=0;
IN>>x; // legge dal file
while (x != '.') {
n= (x-48)+n*10;
IN>>x;
}

IN.close();

while (n>0){
r=n%2;
b=r+48;
OUT<< b;
n=n/2;
}


OUT.close();


}
catch (int x) {cout<<"problemi con i file"<<x<<endl;}
ciuaz!!! è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 23:28   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Prima di tutto non è corretta la verifica dell'errore che fai. IN e OUT non possono essere NULL:
http://www.cplusplus.com/reference/i.../ifstream.html
La verifica dell'errore di apertura si fa con il membro fail.

A prima vista non vedo errori particolari...sicuro che ci sia il file "input" ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 12:00   #3
ciuaz!!!
Senior Member
 
Iscritto dal: Sep 2003
Messaggi: 572
Quote:
Originariamente inviato da cionci Guarda i messaggi
Prima di tutto non è corretta la verifica dell'errore che fai. IN e OUT non possono essere NULL:
http://www.cplusplus.com/reference/i.../ifstream.html
La verifica dell'errore di apertura si fa con il membro fail.

A prima vista non vedo errori particolari...sicuro che ci sia il file "input" ?
Io ho fatto solo questa parte del programma

char x,b;
int r,n,a;
n=0;
IN>>x; // legge dal file
while (x != '.') {
n= (x-48)+n*10;
IN>>x;
}

IN.close();

while (n>0){
r=n%2;
b=r+48;
OUT<< b;
n=n/2;
}

tutto il resto è del prof quindi non saprei dirti, è la prima volta che tocco il C++

Cmq il file input c'è, è nella stessa directory di questo programmetto. Sotto linux mi bastava creare un input.txt che aprivo col KATE, ci scrivevo ad esempio "328.", mi veniva fuori il file output che -sempre con KATE- conteneva la giusta sequenza di 1 e 0.

Ma sotto windows? Boh... mi hanno detto di eseguirlo dalla shell (start esegui cmd) però nel file di output non c'è scritto nulla..
ciuaz!!! è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 12:02   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Attento che su Windows il notepad ti mette automaticamente l'estensione txt ai file, non vorrei che il tuo avesse l'estensione
In tal caso non te lo aprirebbe.

Digli al professore che ha sbagliato Professore universitario o delle superiori ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 13:07   #5
ciuaz!!!
Senior Member
 
Iscritto dal: Sep 2003
Messaggi: 572
Universitario!


E questo è un esercizio che ci ha dato da fare per casa e da consegnare lunedì
Però alla fine funziona...

Comunque ora dò una controllata al file, ti faccio sapere.

edit: è vero, il file ha l'estensione txt (lo vedo dalla shell) ma come si toglie :look:

edit 2: VITTORIAAAAAAAA CE L'HO FATTA
ho preso il file di output che ho rinominato in input e ora va !!!

Ultima modifica di ciuaz!!! : 19-01-2008 alle 13:23.
ciuaz!!! è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 13:46   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Il modo corretto per il controllo dell'errore, mantenedo la struttura che ha usato lui con l'eccezione (che a me sinceramente non piace per niente):

ifstream IN ("input");
ofstream OUT ("output");
if(IN.fail() || OUT.fail())
throw (0);

Poi mai avrei dato un nome maiuscolo a quelle variabili...insomma...in bocca al lupo
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
DJI Mini 3 imperdibile grazie agli scont...
Anthropic finisce in tribunale: i piani ...
Electrolux sospende il piano da 1.700 es...
Bluetti e Prime Day in anticipo, scende ...
AMD ha disattivato una funzione di sicur...
Intel e NVIDIA insieme nei PC del futuro...
Isar Aerospace rinvia ancora il lancio d...
La nomina di Luca Parmitano per la missi...
Controaccusa di Netgear a TP-Link: 'non ...
GoldenEye 007: dopo oltre 20 anni, &egra...
Snowflake arricchisce le funzionalit&agr...
American Express pronta ad acquisire The...
Batterie liquide senza metalli: scoperto...
FRITZ!, devolo, LANCOM e TDT danno vita ...
Quanto tempo passiamo online? In Italia ...
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: 07:11.


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