-
Fototrend
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz Jester01 #1146 üzenetére
Nagyon akartam aknát keresni, úgyhogy csináltam egy kis windows over ncurses emulátor réteget Screenshot mûködés közben: [link]
Persze a színekkel meg a speciális keretrajzoló karakterekkel nem foglalkoztam.
Annyi haszna volt a dolognak, hogy felhívhatom a figyelmed arra a tényre, hogy a konzol ablak windows alatt is átméretezhetõ, vagyis nem szép dolog arra építeni, hogy 80 oszlop van.
Ja és persze kipróbáltam az automatikus feltárást is Azt kellene még lekezelnie, ha olyan mezõt tár fel, ahová a felhasználó már tett zászlót.
Valamint nem ártana egy #include <math.h> mivel így a floor függvényt implicit int visszatéréssel használja és telerakja aknával az egész táblát Persze lehet, hogy windows alatt valamelyik másik header már berántja, akkor vedd úgy, hogy nem szóltam.Jester
-
emitter
őstag
válasz Jester01 #1149 üzenetére
köszi, már be is építettem!
és ezennel jelentem, kész a második verzió, felraktam a táramra! [link]
egy probléma lép még föl néha: a képen látszódó 2 db 1-es rögtön indítás után (új játék) jelent meg magától, úgy, hogy nem is nyomtam még sehova
de ez teljesen random, néha csinálja néha nem, ha csinálja akkor mindig a baloldali első v második sorban egy-két mezőt előre felderít nekem ráadásul nem is mindig jól, mert volt, h feketével jelölt nekem egy mezőt, mire miztonságból rákattintottam, ásláss csodát: akna volt alatta halvány gőzöm sincs, h ez mitől lehet... -
emitter
őstag
válasz Jester01 #1153 üzenetére
Ne haragudj, de nem tudnád tételesen leírni, h hol mit kellene javítanom, mert igazából holnapra már kéne a működőképes progi, és én megpróbáltam kijavítani ahogy írtad, de csak rosszabb lett Felraktam a ''javított'' változatot.
szerk: a temp változót, amellyel a megjelölt/feltárt mezőket számoltam, az átláthatság és egyértelműség miatt átneveztem mezoszam-ra, és megszabadultam a lépésenkénti egyész pálya-vizsgálástól is, most még az újrarajzolás kihagyásán küzdök...
c4-eXp: zsír az aláírásod[Szerkesztve]
-
emitter
őstag
válasz Jester01 #1158 üzenetére
ezer köszönet!!! most már minden okés, remélem több számomra megoldhatatlan hiba nem fog felbukkanni...
akkor ha a screenshot alapján jól látom, linux alatt is tudtad futtatni a progit? mármint a színeket jól megjeleníteni? olyan üres téglalap-kurzort hogyan tudsz csinálni?
egyáltalán a kurzor méretén és láthatóságán kívül lehet még vmit állítani rajta? -
emitter
őstag
válasz Jester01 #1161 üzenetére
király! megvan a félévi egyetlen 5-ös tárgyam és ez a prog
na szal természetesen tanárbácsi ötösre értékelte közös mnkánkat s mivel a zh-k is jók lettek, megvan a félévi jójegy
végre egy tárgy ami felfelé húzza az átlagom...
mégegyszer köszönöm minden fáradozásodat!
(azért remélem te is jót játszottál vele ) -
BullSoft
tag
válasz Jester01 #1170 üzenetére
Kozben rajottem. Volt egy char *tmp-em amibe olvasni akartam egy fajlbol soronkent. Foglaltam neki helyet a memoriaban es ment rogton. Mondjuk Borlandban jo volt ezelott is, csak Devben halt meg, ez erdekes.
Hiaba, szokatlan nekem ez a C/C++ a Pascal/Delphi utan. De hat ezt tanuljuk BME-infon, szal muszaj lesz erre atterni[Szerkesztve]
Állatkertben: -Apu! Nézd mennyi Linux!
-
emitter
őstag
válasz Jester01 #1180 üzenetére
hát még mindig az aknakeresőmbe kéne, hogy a játék közben számlálja az eltelt sec-eket, (ki is írja) lehessen esetleg pause-zni, stb. Én is úgy próbáltam, hogy megnézem gyakorta, h eltelt-e már 1 másodperc, de nem sok sikerrel...
time(&t0); //kezdőidő
time(&t1);
for(i=1;i<500000;i++)
{
if(time(&t2)!=t1)
{
time(&t1);
diff=(int) t2-t0;
system(''cls'');
printf(''%d'',diff);
}
} -
emitter
őstag
válasz Jester01 #1182 üzenetére
A FillConsoleOutputCharacter()-nek hogyan tudom megmondani, h mettől meddig töröljön (azaz '' ''-t írjon)?
Úgy gondoltam, hogy híváskor megadom a kezdő és a végsorokat paraméterként, és akkor csak a két adott sor közti részt törli.
A kezdőpozicionálás könnyű, de azt nem tudom megcsinálni, h csak egy adott sorig töröljön
Gondolom arra nem szép apellálni, hogy csak 80 karakter széles a képernyő enélkül viszont hogyan? -
emitter
őstag
válasz Jester01 #1225 üzenetére
cd '/home/emitter/aknakereso' && WANT_AUTOCONF_2_5=''1'' WANT_AUTOMAKE_1_6=''1'' make -f Makefile.cvs && cd '/home/emitter/aknakereso' && CC=''i586-mingw32msvc-c'' CXX=''i586-mingw32msvc-c++'' LD=''i586-mingw32msvc-ld'' ''/home/emitter/aknakereso/configure'' && cd '/home/emitter/aknakereso' && WANT_AUTOCONF_2_5=''1'' WANT_AUTOMAKE_1_6=''1'' make -j1
aclocal
autoheader
automake
autoconf
installing -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal-1.4... found
checking for working autoconf... found
checking for working automake-1.4... found
checking for working autoheader... found
checking for working makeinfo... missing
checking for C++ compiler default output file name...
configure: error: C++ compiler cannot create executables
See `config.log' for more details.
*** Exited with status: 77 ***
futtatáskor még azt is kiírta, hogy nincs Makefile ebben a könyvtárban, ezért először a 'Configure'-t futtatja
ezek után dobta ezt a hibaüzit -
emitter
őstag
válasz Jester01 #1227 üzenetére
belekukkantottam, de nem lettem okosabbb
én sem tudom, mi az a mingw-s cucc, a forráskódban nincs mingw, esetleg az zavarhatott be, hogy előtte többször is mingw-vel próbáltam uazt a kódot megnyitni, sikertelenül...
de nem értem, miért zavarna ez be, hiszen kdev-vel új projektet nyitottam és beleillesztettem a main.c-t
egyébként projekt nélkül miért nem lehet simán egy .c-t futtatni? -
Badb0y
addikt
válasz Jester01 #1236 üzenetére
Az a lényeg hogy kb 10 a 30-ik nagyságú számot eldöntsön hogy prím-e vagy sem.
2 a 128.-on kettes számrendszerben,gondolom kettes számrendszerben is be kell vinni számokat. Rabin Miller algoritmussal lehet megcsinálniMinőségi laptopok https://notebookokhu.business.site/
-
cimpusz
csendes tag
-
-
emitter
őstag
válasz Jester01 #1229 üzenetére
szia!
na, végre sikerült mindenből levizsgáznom, most teljes kapacitással tok a progimmal foglalkozni (nomeg a Linuxszal ismerkedni )
szóval: make main -> [link]
ezek â�� idézőjelek akarnak lenni és a main.c-met akarom fordítani konzolból, mivelhogy a graf. fejlesztőkörnyezetek elszállnak a kódomtól -
emitter
őstag
válasz Jester01 #1278 üzenetére
állat! mármint hogy nem kell átírni a kódomat pont neki akartam kezdeni minden necces részletet kiszedni belőle, hát asszem sok munkától szabadítottál meg köszi
szóval itt ez a wincon.h, akkor ezt hova is másoljam be
illetve a progim használ egy olyat, h windows.h, azzal mi lesz, ja meg a színek, megmaradnak?
és akkor így kell fordítanom majd: make -funsigned-char -lm -lncurses -I main.c
ugye? -
emitter
őstag
válasz Jester01 #1280 üzenetére
bemásoltam a home-ba a wincon.h-t, kiszedtem a kódból az include windows.h-t, és
emitter@LAPTOP:~$ gcc -Wall -funsigned-char -lm -lncurses -I. -o main main.c
In file included from main.c:7:
./wincon.h:2:20: error: curses.h: No such file or directory
In file included from main.c:7:
./wincon.h:15: error: syntax error before '*' token
./wincon.h:15: warning: type defaults to 'int' in declaration of 'curses_root'
./wincon.h:15: warning: data definition has no type or storage class
./wincon.h:17: error: 'COLOR_BLACK' undeclared here (not in a function)
./wincon.h:17: error: 'COLOR_RED' undeclared here (not in a function)
./wincon.h:17: error: 'COLOR_GREEN' undeclared here (not in a function)
./wincon.h:17: error: 'COLOR_YELLOW' undeclared here (not in a function)
./wincon.h:18: error: 'COLOR_BLUE' undeclared here (not in a function)
./wincon.h:18: error: 'COLOR_MAGENTA' undeclared here (not in a function)
./wincon.h:18: error: 'COLOR_CYAN' undeclared here (not in a function)
./wincon.h:18: error: 'COLOR_WHITE' undeclared here (not in a function)
./wincon.h: In function 'SetConsoleCursorPosition':
./wincon.h:32: warning: implicit declaration of function 'move'
./wincon.h: In function 'GetConsoleScreenBufferInfo':
./wincon.h:49: warning: implicit declaration of function 'init_curses'
./wincon.h:50: warning: implicit declaration of function 'getmaxx'
./wincon.h:51: warning: implicit declaration of function 'getmaxy'
./wincon.h: In function 'FillConsoleOutputCharacter':
./wincon.h:69: warning: implicit declaration of function 'addch'
./wincon.h: In function 'SetConsoleTextAttribute':
./wincon.h:89: warning: implicit declaration of function 'attrset'
./wincon.h:89: warning: implicit declaration of function 'COLOR_PAIR'
./wincon.h: In function 'emul_printf':
./wincon.h:103: error: 'va_list' undeclared (first use in this function)
./wincon.h:103: error: (Each undeclared identifier is reported only once
./wincon.h:103: error: for each function it appears in.)
./wincon.h:103: error: syntax error before 'args'
./wincon.h:108: warning: implicit declaration of function 'va_start'
./wincon.h:108: error: 'args' undeclared (first use in this function)
./wincon.h:110: warning: implicit declaration of function 'va_end'
./wincon.h:122: warning: implicit declaration of function 'addnstr'
./wincon.h:128: warning: implicit declaration of function 'attron'
./wincon.h:128: error: 'A_ALTCHARSET' undeclared (first use in this function)
./wincon.h:130: warning: implicit declaration of function 'attroff'
./wincon.h:136: warning: implicit declaration of function 'addstr'
./wincon.h:139: warning: implicit declaration of function 'refresh'
./wincon.h: In function 'emul_scanf':
./wincon.h:146: error: 'va_list' undeclared (first use in this function)
./wincon.h:146: error: syntax error before 'args'
./wincon.h:149: warning: implicit declaration of function 'getstr'
./wincon.h:150: error: 'args' undeclared (first use in this function)
./wincon.h:151: warning: implicit declaration of function 'vsscanf'
./wincon.h: In function 'fgets_wrapper':
./wincon.h:162: warning: implicit declaration of function 'echo'
./wincon.h:163: warning: implicit declaration of function 'getnstr'
./wincon.h:164: warning: implicit declaration of function 'noecho'
./wincon.h: In function 'getch_wrapper':
./wincon.h:175: warning: implicit declaration of function 'getch'
./wincon.h:179: error: 'KEY_UP' undeclared (first use in this function)
./wincon.h:183: error: 'KEY_LEFT' undeclared (first use in this function)
./wincon.h:187: error: 'KEY_RIGHT' undeclared (first use in this function)
./wincon.h:191: error: 'KEY_DOWN' undeclared (first use in this function)
./wincon.h: In function 'end_curses':
./wincon.h:205: warning: implicit declaration of function 'endwin'
./wincon.h: At top level:
./wincon.h:209: warning: conflicting types for 'init_curses'
./wincon.h:49: warning: previous implicit declaration of 'init_curses' was here
./wincon.h: In function 'init_curses':
./wincon.h:213: warning: implicit declaration of function 'initscr'
./wincon.h:213: warning: assignment makes pointer from integer without a cast
./wincon.h:215: warning: implicit declaration of function 'start_color'
./wincon.h:217: warning: implicit declaration of function 'keypad'
./wincon.h:217: error: 'TRUE' undeclared (first use in this function)
./wincon.h:220: warning: implicit declaration of function 'init_pair'
./wincon.h:226: error: 'ACS_VLINE' undeclared (first use in this function)
./wincon.h:227: error: 'ACS_HLINE' undeclared (first use in this function)
./wincon.h:228: error: 'ACS_CKBOARD' undeclared (first use in this function)
./wincon.h:229: error: 'ACS_LLCORNER' undeclared (first use in this function)
./wincon.h:230: error: 'ACS_LRCORNER' undeclared (first use in this function)
./wincon.h:231: error: 'ACS_ULCORNER' undeclared (first use in this function)
./wincon.h:232: error: 'ACS_URCORNER' undeclared (first use in this function)
./wincon.h:233: error: 'ACS_DIAMOND' undeclared (first use in this function)
main.c: In function 'main':
main.c:89: warning: suggest parentheses around assignment used as truth value
main.c:170: warning: suggest parentheses around assignment used as truth value
main.c: In function 'aknaz':
main.c:525: warning: unused variable 'temp'
main.c: In function 'feltar':
main.c:648: warning: unused variable 'l'
main.c:648: warning: unused variable 'k'
emitter@LAPTOP:~$
ez az ncurses micsoda, mert a gcc manjában nem találtam róla semmit
hasonlóképp a -lm mit csinál? -
emitter
őstag
válasz Jester01 #1285 üzenetére
oké, már sokkal szimpibb a helyzet, de még van mit csiszolni rajta
emitter@LAPTOP:~$ gcc -Wall -funsigned-char -lm -lncurses -I. -o main main.c
In file included from main.c:7:
./wincon.h: In function 'GetConsoleScreenBufferInfo':
./wincon.h:49: warning: implicit declaration of function 'init_curses'
./wincon.h: In function 'emul_scanf':
./wincon.h:151: warning: implicit declaration of function 'vsscanf'
./wincon.h: At top level:
./wincon.h:209: warning: conflicting types for 'init_curses'
./wincon.h:49: warning: previous implicit declaration of 'init_curses' was here
main.c: In function 'main':
main.c:89: warning: suggest parentheses around assignment used as truth value
main.c:170: warning: suggest parentheses around assignment used as truth value
main.c: In function 'aknaz':
main.c:525: warning: unused variable 'temp'
main.c: In function 'feltar':
main.c:648: warning: unused variable 'l'
main.c:648: warning: unused variable 'k'
emitter@LAPTOP:~$ ./main
sh: cls: command not found
Segmentation fault
emitter@LAPTOP:~$
mod: a kódom: [link]
[Szerkesztve] -
emitter
őstag
válasz Jester01 #1287 üzenetére
az egy régi maradány volt, bocs érte, persze régen már átírtam, mikor megbeszéltük ezt...
szóval, kis simításokat elvégezve maradt még 1-2 bug
emitter@LAPTOP:~$ gcc -Wall -funsigned-char -lm -lncurses -I. -o main main.c
In file included from main.c:8:
./wincon.h: In function 'emul_scanf':
./wincon.h:154: warning: implicit declaration of function 'vsscanf'
main.c: In function 'main':
main.c:96: warning: suggest parentheses around assignment used as truth value
main.c:167: warning: suggest parentheses around assignment used as truth value
main.c: In function 'cls':
main.c:537: warning: pointer targets in passing argument 5 of 'FillConsoleOutputCharacter' differ in signedness
main.c:548: warning: pointer targets in passing argument 5 of 'FillConsoleOutputAttribute' differ in signedness
main.c: In function 'aknaz':
main.c:563: warning: unused variable 'temp'
main.c: In function 'feltar':
main.c:686: warning: unused variable 'l'
main.c:686: warning: unused variable 'k'
emitter@LAPTOP:~$
a warningok nem érdekelnek, de pl azt az emul_scanf-et nem értem, h miért parázik tőle
csináltam neki prototípust, úgyis ezt dobja vissza
vsscanf meg nincs deklarálva...
wincon.h: [link]
main.c: [link]
ui: jut eszembe, milyen ftp-klienst tudnál ajánlani, ami gyors és könnyen használható?
mert eddig az uw.hu saját webes ftp-jét használom, ami elég gagyi -
emitter
őstag
válasz Jester01 #1290 üzenetére
jó, csináltam prototípust, működik
1-2 hiba van benne, ami winen nem jelentkezett:
a legbosszantóbb, hogy a rekordoknál nem írja ki legelső rekorder nevét, csak a pálya méretét [link]
aztán vmi az ascii-kódokkal sincs rendben: [link] csillagokat kéne írnia
meg volt egy érdekes menet is, már mindent feltártam, és mégsem nyertem [link]
yakuake konzolja ilyet dob, mikor kilépek (gnome-terminálban jól kilép) [link]
viszont a gnome-terminal-lal is van egy kis gond: a kurzor egybeolvad a háttérrel (ez meg yakuake-ben jó) [link]
és az időszámlálóra visszatérve, szerinted nem fog menni a többszálúsággal, akkor viszont máshogy meg lehet csinálni? nagyon szeretném ha lenne ilyen feature benne -
Miracle
senior tag
válasz Jester01 #1304 üzenetére
bar keves helyen reklamozzak, de a windows posix kompatibilis, nemi hatekonysagi problemaval (pl. az egymas utani fork()ok kozul az elso 10 faja utana meg tizedmasodpercekben merheto ido lesz )
szpval ha platformfuggetlenseg a cel akkor POSIX fuggvenyekkel lehel a legkulturaltabban megoldani C nyelven, vagy eluloniteni a platformfuggo reszt, es #ifdef..#endifek kozott a ket platformra specializalt kod, de ez joval ganyabb.. szoval inkabb POSIX... a baj azzal lehet nemtudom a melyik szemafor-implementacio resze a posixnak, es melyik kerult bele a kesobbi szabvanyokkal a unix spec.ba, mert ezek mar nem erhetok el windows alatt :-|értelmező késziszótár :: rekurzió --> lásd : rekurzió
-
emitter
őstag
válasz Jester01 #1307 üzenetére
De ezzel hogyan tudom megvalósítani a ''stoppert''? Ez ha jól értelmeztem a kódot, egy visszaszámláló, nem pedig egy előreszámláló
azonkívül ezt hogyan tudnám beépíteni? Ha ez a visszaszámlálás idejére blokkol minden inputot, akkor addig nem tud a juzer játszani
szóval nem igazán értem, hogy ezzel mit tudok elérni... főként, hogy a forráskód működését sem igazán értem... pl hol az a rész, ahol számol? semmi ciklus nincs benne
szóval még1x: a proginak számolnia és kiírnia kéne az eltelt sec-eket, lehetőség szerint tudjon pause-t is
ha vki tud jobb (vagy egyszerűbb) megoldást, ne tartsa vissza!
egy másik: mi pontosan magyarul a file descriptor, azon kívül, h fájl-leíró vmi -
Protezis
őstag
válasz Jester01 #1313 üzenetére
És az adatszegmensbe mikor kerül? Ha static-ként hozom létre?
Jegyzetben ez van:
''a.) sztatikus objektum létrehozása az adatszegmensben
Fraction a, b, c(3), D(5,2), e(”12/65”) ;
b.) lokális objektum létrehozása a veremben
void Add(Fraction f1, Fraction f2 = Fraction(”0/1”))
{
Fraction res(0) ;
...
}
A fenti Add eljárásban szereplő Fraction(0,1) egy úgynevezett objektum konstans. Objektumokat tartalmazó kifejezésekben vagy default paraméterek esetén használhatjuk.
Objektum példányokból további összetett adatstruktúra építhető fel: például tömb, mátrix, létrehozható objektum példányra mutató pointer, vagy objektum példány értékű függvény.
Fraction f = 32 * Fraction(6,8) + Fraction(9,15) ;
Fraction f[5,5], *pFr, Add(Fraction &, Fraction &) ;''
És van a dinamikus, az érthető. De ha a sztatikus objektum kerül az adatszegmensbe, akkor az a) pontban miért nincs előtte, hogy static?
Igen, én is úgy tudtam C-beli tanulmányaim alapján, hogy függvényen belül deklarált változó a verembe kerül, C++ -ban ráadásul belső blokkon belül is deklarálhatunk, és a blokkból való kilépésnél meg is szűnik. De így meg az a) pont nem világos. -
emitter
őstag
válasz Jester01 #1318 üzenetére
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/time.h>
int
input_timeout (int filedes, unsigned int seconds)
{
fd_set set;
struct timeval timeout;
/* Initialize the file descriptor set. */
FD_ZERO (&set);
FD_SET (filedes, &set);
/* Initialize the timeout data structure. */
timeout.tv_sec = seconds;
timeout.tv_usec = 0;
/*
// select returns 0 if timeout, 1 if input available, -1 if error.
return TEMP_FAILURE_RETRY (select (FD_SETSIZE,
&set, NULL, NULL,
&timeout));
*/
}
int
main (void)
{
fprintf (stderr, ''select returned %d.\n'',
input_timeout (STDIN_FILENO, 9));
return 0;
}
pedig 5-öt ír ki, illetve azt amit megadok neki az input_timeout-nál
azt mondtad h szedjem ki a temp_failure-t, hát kiszedtem, de így meg a select ha jól látom, nem is hívódik meg sehol...
a timeout-ot még mindig nem értem: ez a kód hol számol vissza, mettől, és egyáltalán miért jó nekem ha visszaszámol? Vagy hogyan értelmezzem ezt a timeout-dolgot -
Protezis
őstag
válasz Jester01 #1322 üzenetére
Azt olvasom, hogy ha a global scopeban (nem ez a válasz a kérdésedre? ) deklarálok static kulcsszóval egy változót, az a fájl scopeba kerül, adatszegmensben lesz eltárolva, ha függvényen belül deklarálom, akkor csak az adott blokkon belül lesz látható, de a blokkból való kilépéskor nem szűnik meg, értékét megtartja, tehát ekkor is az adatszegmensben lesz eltárolva.
Ez így világosnak tűnik számomra. Lényegében ezt mondtad te is, csak én annyival mondtam többet a jegyzet alapján, hogy mindkét esetben az adatszegmensben lesz. De objektumok esetén is így kell eljárni? De akkor az a.) pontban miért nincs ott a static szó a típus előtt?
Mert úgy a logikus, hogy csak akkor kell adatszegmensben tárolnom valamit, ha annak a program futása alatt végig léteznie kell, ehhez pedig kell a static szó függetlenül a különböző láthatóságokon. Fraction a; mitől sztatikus? pfffff -
Protezis
őstag
válasz Jester01 #1327 üzenetére
Kösz szépen
Igen, elolvastam, amit írtál, és ezt mondtad valóban, csakúgy, mint én a válaszomban. Mindössze a jegyzetemet nem értem. Akkor egyetlen magyarázat az ottani példára, hogy azok globális változók, azért nics ott a static (és mégis az adatszegmensben vannak)
Mégegyszer köszönöm -
emitter
őstag
válasz Jester01 #1328 üzenetére
na, így egy fokkal jobb, de a fflush vhogy nem műxik
szóval azt szeretném, h ha nyomok 1 entert, vagy bármilyen más billt, akkor az ne jelenjen meg a képernyőn. Ráadásul most csak az entert érzékeli lenyomásként, a többi karakterre nem írja ki h ''gomnyomas tortent''
emitter@LAPTOP:~$ ./time_select
0
gomnyomas tortent 1
2
gomnyomas tortent 3
gomnyomas tortent 4
gomnyomas tortent 5
6
j7
gomnyomas tortent 8
9
emitter@LAPTOP:~$
vagy nem volt érthető, h mi a hiba
ja és getch()-re parázik, csak getchar-t fogadja el
time_select.c.text+0xac): undefined reference to `getch'
collect2: ld returned 1 exit status
mod: kód: [link]
[Szerkesztve] -
emitter
őstag
válasz Jester01 #1398 üzenetére
Szép feladat.
De azért nem reménytelen, ugye?
Nem értem, hogy miért különbözőek a két rendszer által küldött streamek... ez nem csak a hangkártyától függ? Mi az a full-duplex hangkártya, és mit csinál?
El tudnád magyarázni, hogy hogyan is fog működni a rendszer? Szóval milyen formátumban szaladgálnak majd a hangok, hogyan küldöm/fogadom őket, a dolog hálózati része, ilyesmik...
Mire guglizzak rá, hogyan induljak el?
thx
mod: hálózatokhoz, hang-cuccokhoz lövésem sincs szóval jó lenne valami olvasnivaló
[Szerkesztve] -
Orc
senior tag
válasz Jester01 #1426 üzenetére
Nem jó, mert ha pl. van egy while ciklusban egy for ciklus és abban egy elágázás majd abban az exit, akkor nem lép ki mindenből, sajnos a while ciklus utáni résszel is foglalkozik.
pl.:
while [[]valami]]
do
for (valami)
do
if [[valami]];then
a=1
echo alma
exit 1
fi
done
done
echo mogyoró
(echo $a)
Azt akarom, hogy ha almát kiír, akkor mogyorót már ne írjon ki, de ez így nem müködik, mind a kettőt kiírja.
A másik meg az, hogy hiába adtam meg az ''a'' változó értékét ez elágazásban a script végén az echo $a nem ír ki semmit(pedig azt kiírja, hogy alma).
mod: Olyan hatású parancs kellene, ami ugyanazt csinálja, mintha a script futása közben nyomnék egy ctrl+c-t.
[Szerkesztve]Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!
-
emitter
őstag
válasz Jester01 #1450 üzenetére
emitter@LAPTOP:~/BME_nemet/Prog2/Nagyhazi$ nc 127.0.0.1 9999
(UNKNOWN) [127.0.0.1] 9999 (?) : Connection refused
emitter@LAPTOP:~/BME_nemet/Prog2/Nagyhazi$ nc LAPTOP 9999
localhost.localdomain [127.0.0.1] 9999 (?) : Connection refused
emitter@LAPTOP:~/BME_nemet/Prog2/Nagyhazi$ ./client LAPTOP 9999
connect: Connection refused
és itt a két forráskód, server.cpp: [link]client.cpp: [link]
egyébként a gcc nem tud c++t fordítani, vagy rosszul tudom? és a g++ fordító nekem nem sírt, amikor a precedenciás-részt fordította... neked hogyhogy lefordult gcc-vel?
most átírtam mindent ahogy mondtad, zárójel nélkülire, de ugyanaz a helyzet. Az az érdekes, h netstat -l nem látja a server-t, pedig az fut (ps aux), és eljut az accept()-ig, mert ez még kiírja:
Halott folyamatok eldobva.
mind2 rész a 9999-es portot használja, (a kliens szintén, így, amit néztél kódot, még lehet, h egy régebbi verzió volt)
akkor a socklen_t-s részt hogyan csináljam? sin_size-t longintként hozzam létre, és úgy castoljam (socklen_t*)-vel
köszi, hogy segítesz! -
emitter
őstag
válasz Jester01 #1452 üzenetére
nemjó Connection refused.
miért fájt ez a myportos sor
oké, sin_size mostantól socklen_t, de nem ez volt a hiba
mondom, az az érdekes, hogy netstat nem látja hallgatózni a server-t
(amúgy ha a servert háttérben futtatom - &-vel, akkor utána hogyan tudok kilépni belőle - kill nélkül?)
mod: és frissítettem a kódokat is a neten
[Szerkesztve] -
emitter
őstag
válasz Jester01 #1454 üzenetére
hehe, régen volt... de miért is nem jó ez a castolás? ign, megnéztem, nem castolja át
int MYPORT = atoi(argv[1]);
így már jó a myport értéke, de a kliens még mindig nem csatlakozik... lehet, h vmi tűzfal-féleség megfogja? Sima ubuntum van, nem állítottam be semmiféle tűzfalat... igaz, egy routeren keresztül netezek, de a localhost kérés nem megy ki a routerig, vagy igen? -
emitter
őstag
válasz Jester01 #1459 üzenetére
értem. én egyelőre a <string.h>-t inklúdoltam, akkor gondolom majd nyávog a fordító, ha abban nincs benne valami, ami a string-ben megvan már...
getline-t én is néztem már, de az meg string típusba olvas be, és azt nem tudom konvertálni char*-ba, pedig sok függvény meg csak char*-t fogad el
mi akkor a megoldás?
mod: ja még1: ha üres ENTER-t akarok érzékelin mondjuk arra, hogy ha egy chatprogiban az egyik fél üres entert nyom, akkor bezáródjon a beszélgetés, szóval akkor ezt hogyan tegyem? ilyenkor a buf változó értéke (amibe beolvasom a sztringet), mit tartalmaz? \n-t vagy \r-t, vagy mit?
[Szerkesztve] -
emitter
őstag
válasz Jester01 #1461 üzenetére
jó, akkor átállok C++ valid függvényekre első érdekesség: annak ellenére, hogy beinklúdoltam <string>-et, a g++ hibát dob, hogy length(), és size() was not declared in this scope...
pl így hívtam a size-t:
size(buf) //ahol buf char* típusú, de string típusúnál is ugyanezt dobja
mod: ja, és nem tudsz ajánlani egy jó kis c++ referenciát? mert a cpprefernce.com sokszor elég szűkszavú, meg számomra nem mindig egyértelmű
pl ez is: [link]
>> size_type length() const;
itt most a length mit vár? mi az a const uána
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- alza vélemények - tapasztalatok
- Automata kávégépek
- Suzuki topik
- Kínai, és egyéb olcsó órák topikja
- Megérkezett a legújabb és eddigi legátfogóbb 3DMark teszt
- Ukrajnai háború
- Riasztó topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Politika
- További aktív témák...
- Dell Latitude 5300 2in1,13.3",FHD,i7-8665U,16GB DDR4,256GB SSD,WIN10,Touch
- Dell Latitude 5300 2in1,13.3",FHD,i5-8365U,16GB DDR4,256GB SSD,WIN10,Touch
- - MAKULÁTLAN - ASUS ZENBOOK PRO 16X 4K OLED - i9-12900H, RTX 3060, 32GB, 1TB, Win11PRO, 3 ÉV GARI
- ÚJ ASUS ROG ZEPHYRUS G16 - 16" WQXGA 240Hz - i9-13900H - 16GB - 1TB - RTX 4050 - Win10 - Garancia
- Dell Latitude 7490,14",FHD,i5-8350U,16GB DDR4,256GB SSD,WIN10,TOUCH
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Ozeki Kft.
Város: Debrecen