- Milyen okostelefont vegyek?
- India felől közelít egy 7550 mAh-s Redmi
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Profi EKG-s óra lett a Watch Fitből
- Honor 400 Pro - gép a képben
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Samsung Galaxy A54 - türelemjáték
- Telekom mobilszolgáltatások
Új hozzászólás Aktív témák
-
Gyomman
aktív tag
válasz
Jester01 #1073 üzenetére
Igen, rájöttem, h az segített volna... Közbe rájöttem magamtól, hogy a const char* típusú fájlra nem akart működni (azt hittem pedig, h azt tudja kezelni, de mégse), így specializáltam a függvényt (meg átírtam végtelen ciklusból
) és most már működni látszik, köszönöm az útmutatásokat!
-
Gyomman
aktív tag
válasz
Sk8erPeter #1070 üzenetére
Tényleg nagyon nem láthatok valamit, mert azon kívül, hogy elnéztem, h cím szerint adjam át a tempet, nincs változás a kritikus részben, a kiegészített rész meg (és mégegyszer elnézést, h nem másoltam hozzá tesztprogramot és osztályt) ugyanaz, mint énnálam egyébként azzal az egy különbséggel, h nálam friend az operator>>.
template<typename G>
class F_file{
unsigned length;
FILE* file;
char* nev;
char* utvonal;
public:
..
template <typename E> friend void operator>>(istream&, F_file<E>&);
.. -
Gyomman
aktív tag
válasz
Jester01 #1066 üzenetére
Szia!
Elnézést, ha keveset másoltam be a programomból, de egész jól reprodukáltad, csak annyi a különbség, hogy nekem friend az operator>>, egyébként ugyanez (még pár plusz tagfüggvénnyel megspékelve).
Fura, h ennek ellenére amit te csináltál az lefordul, az enyém meg mégse.Természetesen ügyeltem arra, hogy a megadott bemeneti stream és elem párosra létezzen operator>>
Én ugyanúgy olyan típusokkal dolgozom, amire létezik az operator>>, csak alapból azt írja ki mégis hibának, hogy binary '>>' : no operator found which takes a left-hand operand of type 'std::istream' (or there is no acceptable conversion).Vagy mégiscsak elnézek valamit.
Azt akarnám am csinálni (ezek szerint rosszul, de arra majd rájövök, csak egyelőre ezen a problémán essek túl), hogy egy streamről jön egy adatfolyam hossza, majd utána maga az adat és a hosszát beolvasom a fájlhosszba, az adatot pedig utána a fájlba.
-
Gyomman
aktív tag
válasz
Jester01 #1063 üzenetére
template<typename G>
void operator>>(istream& in, F_file<G>& F)
{
fclose(F.file);
char* ttemp=new char[strlen(F.nev)+strlen(F.utvonal)+5];
strcpy(ttemp,F.utvonal);
strcat(ttemp,F.nev);
strcat(ttemp,".dat");
F.file=fopen(ttemp,"a");
G temp;
int len;
(in>>len).ignore(1); //szóközt eldobjuk
F.length+=len; //hosszt megnöveljük
while((in>>temp).ignore(1))
{
fwrite(temp,sizeof(G),1,F.file);
}
delete [] ttemp;
}Itt lenne szegény kód. Az eleje az csak annyi, h megnyitom a fájlt (kicsit bonyolultan van megoldva igaz), aztán az in>>temp résznél már szól, h neki az nem működik. Ha az ignore-on kívül teszem, akkor is szól, nem tudom hol lehet a baj.
-
Gyomman
aktív tag
Sziasztok!
Az lenne a helyzet, hogy lenne egy megoldatlan template-s problémám. Ugyanis az lenne a feladat, hogy input streamről beolvassak egy generikus fájlba adatokat. Viszont nem tudok olyan függvényt, amely erre jó lenne, mivel az in.read char*-ot vár (és nem bármilyen generikus adatot), az in>> operátora meg megint csak nem akarja az igazságot. Valakinek van valamit ötlete?
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen okostelefont vegyek?
- India felől közelít egy 7550 mAh-s Redmi
- Autós topik
- BestBuy topik
- Delta Force (2024)
- Abarth, Alfa Romeo, Fiat, Lancia topik
- A fociról könnyedén, egy baráti társaságban
- Óvodások homokozója
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- iPhone topik
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- KATONAI ÜTÉSÁLLÓ!!! Getac S410 i5-6300u, G3: i5-8365u, G4: i5-1145G7
- iKing.Hu - Apple iPhone 13 Pro Max - Graphite - Használt, újszerű
- Beszámítás! Apple iPad 11 2025 128GB WiFi tablet garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged