Hello!
írta a következõ üzenetben: ...
> char *a,*b,*c,*d,*e,*nev;
>
> void beolvas(void)
> {
> gets(a);
> gets(b);
> ...
> gets(nev);
...
>Szoval az elejen beolvasom az ertekeket,de amikor a file-ba beirja,
>az a,b,c,d,e,f... helyett a "nev" valtozo erteket teszi,annyi mintha a
>tobbit nem is olvastam volna be.
A problema valoszinuleg az, hogy nem allitod be a pointereidet altalad
lefoglalt teruletekre, igy azok barhova mutathatnak. Ugy tunik most eppen
ugyanaz az ertekuk.
Bar mivel a valtozoid globalisak, lehet, hogy egy masik fuggvenyben foglalsz
nekik, akkor lehet, hogy ott csinalsz valamit rosszul. A gets nem fog
teruletet foglalni szamodra. Szoval valami olyasmi hianyzik, hogy
a=new char[KELLOEN_NAGY_SZAM]; b=new char[KELLOEN_NAGY_SZAM]; ...
Az viszont egy furcsa dolog, hogy a gets-nek nem lehet megadni, hogy max
hany byte-t olvashat.
Tobbek kozott ezert, meg azert is, mert C++-osabb ajanlanam az ifstream-t
beolvasasra, ott van getline, meg azt is meg lehet neki mondani, hogy milyen
byte jelzi a sor veget.
|
>Felado : [Hungary]
>memoriat akarok lefoglalni, de allitolag nincs eleg mem. 64000 byte-ot
Miert nem jo neked az _fmalloc ?
>a 8-as megszakitasra akarok ramaszni, szinten C-ben. hogyan tudom meg
>C-asm-ban az egyik proc cimet? lehet offset, seg? (nem probaltam ki)
>vagy szabvanyosan C-ben milyen funkcioval lehet megcsinalni?
Nezd meg a BC helpjet a get/setintvect (vag vmi hasonlo az interruptvector
lekerdezese/megadasa) fg-re, egesz jo mintat ad.
A'kos
|
Sziasztok!
Nemreg jelentkeztem a listara. Most tanulok C++-ban
programozni, es mindjart az elejen egy primitiv problemaval
akadtam ossze:
Ha cin-nel int-et akarok beolvasni, es szam helyett betut
irok, akkor azzal nem tud mit kezdeni a program, benn
marad az adatfolyamban, es minden tovabbi beolvasasnal
azt adja vissza. Itt a progi:
#include <iostream.h>
int szam;
void main (void)
{
do
{
cout << "Irj be egy nullanal nagyobb szamot: ";
cin >> szam;
if (szam<=0) cout << endl << "Nem jo!!" << endl;
}
while (szam<=0);
}
A hardware P II Celeron 266, Win 98-cal, Borland C++ 3.1
Megprobaltam karakteres valtozoba beolvasni, hogy eltuntessem
de nem sikerult.
Van valakinek valami hasznalhato magyarazata? Es megoldasa?
Sipi
|