Ifstream.get -> integer – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ifstream.get -> integer – C / C++ – Fórum – Programujte.comIfstream.get -> integer – C / C++ – Fórum – Programujte.com

 

Debugger
~ Anonymní uživatel
7 příspěvků
28. 2. 2010   #1
-
0
-

Zdravím, prosím o pomoc. Úkolem procedurky níže je přečíst 1Byte z inputfilu a předat ho zpět jako číslo. Dál jej zpracovávám jako číslo, nejlépe unsigned int. Krásně to funguje pro čísla 0Fh a menší, ale pro A0h a výš už to vrací čísla záporná/velká, což je dívné...

int mygetc(ifstream *input){
char buf;
input->get(buf);
return (int)buf;
}

Nahlásit jako SPAM
IP: 62.245.64.–
KIIV
~ Moderátor
+43
God of flame
28. 2. 2010   #2
-
0
-

mozna nemas unsigned char... tudiz cisla nad 127 se interpretuji jako zaporna..

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Debugger
~ Anonymní uživatel
7 příspěvků
28. 2. 2010   #3
-
0
-

To KIIV :
Jo to sem si taky rikal ale metody ifstreamu jak get tak read berou jen char/char* nikde zadny unsigned. Teda aspon co vim.

Nahlásit jako SPAM
IP: 62.245.64.–
KIIV
~ Moderátor
+43
God of flame
28. 2. 2010   #4
-
0
-

melo by stacit unsigned char * buf

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Debugger
~ Anonymní uživatel
7 příspěvků
28. 2. 2010   #5
-
0
-

To KIIV :

unsigned short int mygetc(ifstream *input){

unsigned char buf;
input->get(buf);
return (unsigned short int)buf;
}


Nepojde překladem... (Microsoft Visual C++ .NET 69586-335-0000007-18893)
Hází to že nemůže překonvertovat parametr z unsigned char na char

Nahlásit jako SPAM
IP: 62.245.64.–
KIIV
~ Moderátor
+43
God of flame
28. 2. 2010   #6
-
0
-

tak jeste pretypovat na (unsigned char) pred prevodem na unsigned int

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Debugger
~ Anonymní uživatel
7 příspěvků
28. 2. 2010   #7
-
0
-

To KIIV :
Funguje! Klaním se a děkuji!

Nahlásit jako SPAM
IP: 62.245.64.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

Podobná vlákna

Ifstream — založil jurike

Řetězec -> integer — založil Ondřej

Timeout pro ifstream? — založil yaqwsx

Ifstream čte i po EOF ?! — založil Eatel

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý