Nem tudtok nekem abban segíteni h mi az a parancs parancssor alatt ami egy argomentumot vár ami lehetőleg egy c progi legyen és azt nekem szépen megformázza?
Készítettem egy kis progit Linux alá, mely segítségével fileokat lehet titkosítani ill. visszaállítani. Ha valakit érdekel, töltse le nyugodtan, próbálgassa, valamint adjon még ötleteket, mit kellene vele csinálni...
Kösz a segítséget, végülis fontos, hogy winre is müködjön úgyanis ha egyszer kész lesz akkor win alatt (is) szeretném használni. Mostantól április végéig viszont mással kell(ene) foglalkoznom igy megprobálom letísztitani az eddigieket, átfgoom rágni addig a filet amit küldtél illetve az én c filejaimat megprobálom tökéletesiteni:)
Elolvastam régebben a Kerninghan Ritchie félét, de akkor nem használtam semmire, most elolvastam a Gábor Dénesest, de szerinted amikor elolvastam most minden szónak bekellene ugrania a könyvből? Na aszem mostantól amúgy sem lesz rá időm, ezzel foglalkozni úgyhogy megnyugodhatsz nem fogok feltenni több kérdést...
Igazad van, ugyanis a newline-t is beleszamolja, tehat 5. A problema evvel meg az, hogy a Windows alatt meg lehet, hogy 6 lenne, mert ott ket karakterrlel zarul a sor. Ebbol kifolyolag en megtartanam a 4-et, de a kovetkezokepp tesztelnem:
if( strcspn(t," trn")==4 && ...
Igy a sorvegi space-ek es tabok sem kavarnanak be.
"a typedef illetve define al definiált tipus illetve állandokat minden .c ben külön irjam be ahol használom?" Jajj. Te, nem kéne elolvasnod mondjuk a "Tanuljuk meg a C nyelvet" könyvet először? Akkor már tudnád mi az az include fájl meg mit jelent az a sok hülye csillag...
Találtam egy (kis) hibát a progi(d)ban, azt kijavitva már müködik:)
Legalábbis nálam strlen(4) helyett strlen(5) kell mert az fgets mőgé tesz még valami ' '-t..
Akkor lenne még néhány primitiv kérdésem:)
a typedef illetve define al definiált tipus illetve állandokat minden .c ben külön irjam be ahol használom? Azaz pl typedef xyxy int et használom 1.c ben de 2.c ben is ugyanezt szeretném..
Ha a függvények argumentumában char *valtozo szerepel akkor ez egy karakter tömböt vár? Nekem néhol még sok a * pl az eval függvényedben:) azzal nem tudok mit kezdeni egyenlőre:) a decode fv ed nagyon tetszik..
"C parancsok" nincsenek. Vannak kulonbozo "fuggvenyek". Ez attol függ, hogy ilyen könyvtarakat hasznalsz. Van persze a standard könyvtar, amelyet mindne C forditoval együtt szallitanak, de ez csak a minimum.
Ha "C standard library"-ra rakeresel a Google-n, akkor az elsö talalat:
KoporShow: rájöttem, hogy lehet módosítani az email cimet szóval már kicseréltem egy jóra. Most fogom átnézni az általad küldött kódot, de első ránézésre a többi c flet is átfogom írni ennek hatására kicsit, hogy profibbnak látszodjon:). Van egy két sor elsőre amit nem értek még megprobálok utánanézni hátha rájövök, egyébként nem tudtok olyan oldalt ahol felvan sorolva az összes c parancs (gyorsan lehet keresni köztük) rövid leírással esetleg példával?
A levelet megkaptam:). Csak van a thuram@freemail.hu s cimem amire már nem tudok belépni kb 2-3 éve:), de onnan forwardolja a levelemet ahova már beis tudok lépni:)
Nem akarom csufítani a gdb s topikját NevemTeve-nek (eddig olyan szép:) úgyhogy inkább itt tenném fel a primitiv kérdésemet. A lent közölt kódon probáltam használni és valahogy a set -tel nem tudtam beállítani a getchar által kreált s értéket : probáltam set s='x' ill set s=x et de nem fogadta el, meg persze probáltam ; mögéjük rakni:) de nem lett jó sehogy az uhu linux manjában meg nincs róla semmi:(
Off (Hallottam olyan cégtől, ahol nagyon féltek a hard-kódolástól, inkább felvettek egy #define LT_ONE 1 definíciót, nyilván arra az esetre, ha a következő verzióban a "LT_ONE" azt kellene jelentse hogy "2", akkor könnyű legyen a módosítás)
Egyébként a program müködik és azt csinálja amit szeretnék a t tömb felvan töltve csak a kód nem ment át sztem:(..
Az Ascii kódokat nem tudom fejből, és azért használom azt mert azt kellene eldöntenem ott hogy 'a1d4' alakú karaktersorozat jöne be.. És mivel fogalmam sincs mi van az a betű elött ezért Ascii kódot adtam meg..
Szóval ez a programrész egyenlőre jól eltudja dönteni hogy l,load stb ill 'xyxy' beírás történte ahol x a-h ig ill y 1-8 ig megy..
1) az elso while cikuls lenyegesen tobb karaktert tud olvashat be mint a t tombod hossza, ez tulcsordulashoz vezthet.
2) Sose programozzuk azt ujra, amire letezik standard fuggveny. Peldaul az fgets hasznalata ebben az esetben adja magat. Alapvetoen tanacsos megadni a belolvasando karakterek max. szamat. A karakterosztalyok klasszifikalasara is vannak fugvenyek. Feldolgozashoz jo otlet az sscanf illetve a regularis kifejezesek hasznalata.
Szerintem eloszor magadnak kene megfogalmaznod, hogy pontosan mit is akarsz, mert szerintem itt kezdodnek a problemaid. Peldaul a t tombot fel sem toltotted, stb. Mindez abbol fakad, hogy nem gondoltad at, hogy pontosan mit es miert csinalsz. Ha mashogy nem megy, ird fel a strategiadat emberi szavakkal egy papirra, es csak ha teljesen biztos vagy a dolgokban, akkor kezdj neki a kodolasnak.
Egy mellekes technikai tanacs: semmi ertelme nincs a programkodban ASCII-kodokkal mint szamokkal dolgozni. Ez csak foloslegesen gusztustalanna teszi a prgramodat, meg akkor is ha fejbol ismered az osszes kodot.
Egy alapveto filozofia, amit sokan kovetnek es jonak tartanak: Az egyetlen numerikus konstans, ami egy programkod belsejeben elfogadhato: a 0. Minden masra celra hasznaljunk konstansot valtozot, vagy define-t, egy nevven amely tukrozi a konstans jelenteset.
Ami meg a switch-et illeti: igen, létrehozhatsz egy saját változót, amit az input alapján egy függvényében állítasz és a switch ez alapján ágazik el. De nem intet javasolok, hanem enum-ot. Olvashatóbb lesz tőle a kód.