Keresés

Részletes keresés

NevemTeve Creative Commons License 2007.04.03 0 0 280
Szerinted van ennek a kérdésnek értelme?
Előzmény: andieri (279)
andieri Creative Commons License 2007.04.03 0 0 279
Sziasztok!

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?

Előre is köszi.

Andi
NevemTeve Creative Commons License 2005.03.11 0 0 278
Biztos bennem van a hiba, de csak a bináris verziót találtam az oldaladon...
Előzmény: ictboy300d (277)
ictboy300d Creative Commons License 2005.03.11 0 0 277
Üdv Mindenki!

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öszi: Ictboy

File titkosító progi
thuram Creative Commons License 2005.02.15 0 0 276
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:)

NevemTeve: Kösz a gdb-s segítséget.
Előzmény: KoporShow (273)
thuram Creative Commons License 2005.02.15 0 0 275
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...

Előzmény: DonQuijote (271)
KoporShow Creative Commons License 2005.02.15 0 0 274
Na, a forum megint lenyelte a backslash-eket. A sztringben mind a t, az r es az n elott egy backslashnek kell allnia.
Előzmény: KoporShow (273)
KoporShow Creative Commons License 2005.02.15 0 0 273
Az "strlen(t)==4"-re gondoltal.

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.
Előzmény: thuram (270)
NevemTeve Creative Commons License 2005.02.15 0 0 272
Hát a strlen(4) meg a strlen(5) eléggé gépfüggő módon müködne... ha egyáltalán lefordulna...

a gdb-ben a set-nél használd a precízebb

set var s='X'

formát
Előzmény: thuram (270)
DonQuijote Creative Commons License 2005.02.15 0 0 271
"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...
Előzmény: thuram (270)
thuram Creative Commons License 2005.02.15 0 0 270
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..
Előzmény: KoporShow (269)
KoporShow Creative Commons License 2005.02.14 0 0 269
"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:

http://www.infosys.utas.edu.au/info/documentation/C/CStdLib.html

ami eleg jo referencianak tünik ;)
Előzmény: thuram (268)
thuram Creative Commons License 2005.02.14 0 0 268
Tehát ezt látom a gdb ben:

9 while (( s= getchar()) !='n') {

beirom hogy set s='X'

erre kapom Ambiguous set command "s='X'": .

set s=100

Ambiguous set command "s=100": .

Ezt még az általam generált kódon probáltam..

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?
Előzmény: NevemTeve (267)
NevemTeve Creative Commons License 2005.02.14 0 0 267
kicsit pontosítsd a dolgot...
Nekem megy a

set x=100
set x=x+1
set x='C'

utasitasok mindegyike
Előzmény: thuram (263)
KoporShow Creative Commons License 2005.02.14 0 0 266
Szerintem az egyenlosegjel a bajod, de nem ismerem annyira a gdb-t.
Előzmény: thuram (263)
thuram Creative Commons License 2005.02.14 0 0 265
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:)
Előzmény: KoporShow (264)
KoporShow Creative Commons License 2005.02.14 0 0 264
Egyebkent betelt a postafiokod. Most kaptam ertesitest, hogy a level nem volt kezbesithato.
Előzmény: KoporShow (262)
thuram Creative Commons License 2005.02.14 0 0 263
Köszönöm a fáradozást.

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:(
Előzmény: KoporShow (262)
KoporShow Creative Commons License 2005.02.14 0 0 262
Mail ment.

Elkuldtem mailben, hogy en kb. hogy csinalnam.
Előzmény: thuram (260)
NevemTeve Creative Commons License 2005.02.14 0 0 261
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)
Előzmény: KoporShow (255)
thuram Creative Commons License 2005.02.14 0 0 260
Végül is favágó módszerrel kiküszöbölhető pl beteszem a while ba hogy i<10:). Persze így már igazán ronda lesz a kód..
Előzmény: KoporShow (258)
thuram Creative Commons License 2005.02.14 0 0 259
Tanácsaidat megprobálom megfogadni, már amennyit megértettem belőle..

Természetesen olvastam, hogy Te ezeket a függvényeket javasolod, de sajnos nem tudtam használni őket:(

A kódot feltettem ide http://www.cs.elte.hu/~iscsi/C/ .

Esetleg ha nagyon sok időd van:), megtudnád mutatni hogy használjam ezeket, pl ezen a kódon?
Előzmény: KoporShow (256)
KoporShow Creative Commons License 2005.02.14 0 0 258
Az 'a' betu alatti codja: (int)('a'-1).

Egyebkent a programod jol elszallhat, ha a felhasznalo egy tiz betunel hosszabb sztringet ad meg.
Előzmény: thuram (257)
thuram Creative Commons License 2005.02.14 0 0 257
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..
Előzmény: KoporShow (255)
KoporShow Creative Commons License 2005.02.14 0 0 256
Meg egy ket tanacs:

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.

Előzmény: thuram (254)
KoporShow Creative Commons License 2005.02.14 0 0 255
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.
Előzmény: thuram (254)
thuram Creative Commons License 2005.02.14 0 0 254
Végülis ez a legjobb amit kitudtam hozni: megprobálom becopyzni..


#include <stdio.h>

main ( )
{
int s=0;
int t[10];
int i=0,j,k;

while (( s=getchar()) !='n'){
t=s;
i++;

}

if ((96<t[0]) && (t[0]< 105)){
j=0;
}
else j=t[0];
switch (j) {

case 'l': if (((i==4) && (t[1]='o') && (t[2]='a') && (t[3]='d')) || (i==1)) {
}
break;

case 's': if (((i==4) && (t[1]='a') && (t[2]='v') && (t[3]='e')) || (i==1)) {
}
break;

case 0 : if ((48<t[1]) && (t[1]< 57) && (96<t[2]) && (t[2]<105) && (48<t[3]) && (t[3]< 57)) {
k=((t[1]-49)*8+(t[0]-97))*64+(t[3]-49)*8+(t[2]-97) ;
break;
}


default: printf("Nem értem");

}

}


Előzmény: DonQuijote (253)
DonQuijote Creative Commons License 2005.02.13 0 0 253
Én nem értettem... Hát akkor mondjuk:

gets( input );
if ( strlen( input ) > 1 ) {
/* ez egy lepes */
ertelmezzuk_sscanf_el();
} else {
switch ( input[ 0 ]) {
case 'd': display();
case 'l': load();
stb.
Előzmény: thuram (251)
Egoist Creative Commons License 2005.02.12 0 0 252

fgets és sscanf a legjobb megoldás asszem

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.

Előzmény: thuram (247)
thuram Creative Commons License 2005.02.12 0 0 251
Melyik részt probáljam részletezni? Vagy probáljam az egészet jobban megfogalmazni?
Előzmény: DonQuijote (250)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!