Hirdetés
- 5.1, 7.1 és gamer fejhallgatók
- HiFi műszaki szemmel - sztereó hangrendszerek
- Amlogic S905, S912 processzoros készülékek
- Hogy is néznek ki a gépeink?
- Nem lesz extrém magas ára a Ryzen 7 9850X3D-nek
- Milyen egeret válasszak?
- Házimozi belépő szinten
- AMD Navi Radeon™ RX 9xxx sorozat
- Apple MacBook
- Milyen notebookot vegyek?
Új hozzászólás Aktív témák
-
nyunyu
félisten
Bontsuk kette a problemat.
Mint rajottem, az ftell/fgetpos csak akkor mukodik "helyesen", ha mar olvastam a streambol.
Ha elso olvasas elott adom ki, akkor -20-at ad vissza, es innentol fogja egyesevel novelni/csokkenteni a poziciot minden getc/ungetc utan, nem nullatol.
Ez a kisebbik problema.Nagyobbik bajom az, hogy a getc platform fuggoen kezeli a sorvege karaktereket.
Pl. Visual C++ 2010 Win alatt ha \n karaktert lat, akkor lenyeli az utana jovo \r karaktert es mindig kettovel noveli a fajl poziciot.
Ez azert problema, mert a feldolgozando forraskodok egy resze UNIX alatt lett mentve, ott meg nincsen \r az \n utan, de akkor is kettovel noveli a poziciot...Plusz nehezitesnek vannak olyan forraskodok is, amiben nincs \n, hanem \r-rel vannak tordelve.

Probaltam szamolni, hany getc/ungetc-nel jarunk, de az sem ad pontos eredmenyt, mivel nem tudom eldonteni, hogy a latott \n karakternel eggyel vagy kettovel noveljem az indexet.
Windows alatt automatikusan utana rakott \r egyaltalan nem jon at a getc-vel, nem tudom megszamolni. -
nyunyu
félisten
Hogyan lehet _megbizhatoan_ lekerdezni, hanyadik karakternel tartunk az eppen feldolgozott fajlban, majd a lementett poziciora visszaugrani?
ftell neha negativ erteket ad vissza, majd a kovetkezo karakter olvasasa utan az elozo rossz ertek+1-et, aztan fseek(fp, pos, SEEK_SET)-re total mashova ugrik, nem a "megjelolt" karakterhez.
fgetpos paros is ugyanazokat az ertekeket adja vissza, mint az ftell.
Ha manualisan szamolom a karaktereket minden getc/ungetc-nel, akkor sem pont oda ugrik vissza.
Probaltam Win alatt VC++ 2010-zel, meg linux alatt GCC-vel, mindegyik produkalja.
Feldolgozando fajl szoveget tartalmaz, mind win, mind linux stilusu sortores is elofordulhat benne. -
nyunyu
félisten
Viszont elojott az a kerdes, hogyan lehet beallitani, hogy milyen fajlt toljon be a fordito az stdin-re?
Linux/UNIX alatt "cat fajlnev | program"-mal kell futtatni.Meg jo, hogy DOS/Windows parancssor is POSIX kompatibilis, igy mukodik az input/output atiranyitasra szolgalo <,>
Igy a programot igy kell futtatni:
program <fajlnevAzt meg be lehet allitani a VSben, hogy milyen parancssori parameterekkel debugolja a programot. (Configuration properties/Debugging/Command Arguments)
-
nyunyu
félisten
Sikerult megetetni Visual Studio 2010-zel, be kellett allitani a projekt tulajdonsagainal Configuration properties/C/C++/Preprocessor alatt a Preprocessor definitions-ben, hogy "_CRT_SECURE_NO_WARNINGS"
Igy mar nem ugat az strcpy es tsai fuggvenyek elavultsagara, hanem lefordul.Viszont elojott az a kerdes, hogyan lehet beallitani, hogy milyen fajlt toljon be a fordito az stdin-re?
Linux/UNIX alatt "cat fajlnev | program"-mal kell futtatni.Meg kene maradnia platformfuggetlennek a kodnak, igy nem szivesen irnam at a fajlkezeles reszet.
-
nyunyu
félisten
Adott egy standard C kod, ami eredetileg UNIX alatt lett fejlesztve, mezei parancssoros program.
Meg lehet ezt a kodot etetni valami modern windowsos fejlesztokornyezettel, hogy lepesrol lepesre tudjam debugolni, nezni hogyan alakulnak a belso valtozok aktualis ertekei?
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Autóápolás, karbantartás, fényezés
- 5.1, 7.1 és gamer fejhallgatók
- exHWSW - Értünk mindenhez IS
- HiFi műszaki szemmel - sztereó hangrendszerek
- Amlogic S905, S912 processzoros készülékek
- Hogy is néznek ki a gépeink?
- iPhone topik
- Óra topik
- Interactive Brokers társalgó
- Nem lesz extrém magas ára a Ryzen 7 9850X3D-nek
- További aktív témák...
- AMD Ryzen 5 7600 6-Core 3.8GHz AM5 Box (100-100001015BOX) Processzor új, bontatlan
- Western Digital Purple Surveillance 3.5 2TB 5400rpm 64MB SATA (WD23PURZ) új
- Western Digital Purple Pro 10TB (WD102PURP) új, bontatlan
- Western Digital Red Plus 3.5 2TB SATA3 (WD20EFPX) új, bontatlan
- Western Digital Purple 3.5 4TB SATA3 (WD43PURZ) új
- Újszerű Dell Latitude 5420 - i5 1145 G7 ,16-32GB RAM, SSD, jó akku, számla, 6 hó gar - 01.22
- Dell D6000 univerzális dokkoló USB-C/ USB-A, DisplayLink & Dell WD15 (K17A) USB-C + 130-180W töltő
- 207 - Lenovo LOQ (17IRB8) - Intel Core i5-13400F, RTX 3050
- Sosemhasznált! HP OmniBook 5 i7-1355U 16GB 512GB 16" FHD+ Gar.: 1 év
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4303
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



