Fontos linkek a C-ről:
Prog.hu-s cikkek
Prog.hu-s tudástár témák
The C Library Reference Guide
Standard C
Wikipedia
C Tutorial
Programming in C
Bevezetés a C programozási nyelvbe
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] ZUK Z2 - Kicsi a bors, de erős!
- [Re:] [Szevam:] Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [ldave:] New Game Blitz - 2024
- [Re:] [attilasd:] A laposföld elmebaj: Vissza a jövőbe!
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [bitpork:] Balatoni autós tali 2024
- [Re:] Gurulunk, WAZE?!
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
GAMEPOD.hu témák
Téma összefoglaló
- Utoljára frissítve: 2014-04-25 14:12:00
LOGOUT.hu
Hozzászólások
SDA
csendes tag
strcenter
returns a copy of given str justified to center.
\param str. the original str to justify with spaces. str can be NULL
\param length the new length of the string.
\return the new copy of string.
if length is 0, it returns NULL
if length is less than the length of string it returns a copy of str.
Caller must free the copy
ennyi van leírva nekem, hozzá.
shev7
veterán
hat pedig akkor amit korabban irtal: "viszont konkrét szélesség nincs megadva, " az nem igaz. A nasodik parameter a hossza a stringnek amit vissza kell adnod.
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
struct winsize ws;
// deklaráció, inicializáció az eredeti_szoveg-nek
printf("%s", strCenter(eredeti_szoveg, ws.ws_row, ' '));
Talán, de C-ben nem vagyok otthon, főleg nem vakon gépelve.
Gergosz2
veterán
linkeljetek egy c fordítót ami működik win7 64 bit alatt!
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
CPT.Pirk
Jómunkásember
codeblocks elvileg megy win7 alatt. Viszont egy nagyságrenddel kevesebb a szopás linux alatt, pl. Ubuntu, Mint...
[ Szerkesztve ]
Nincs más - csak egy szál gitár - szidom a rendszert - forradalmár. - Én vagyok egyedül 88 telén. (Auróra)
Klupi01
csendes tag
Helló mindenki!
Nem tudtok egy olyan progit, amely pascal nyelvet átkonvertálja c nyelvbe?
Kutyafülét se értek az egészhez, de kéne a házikhoz
Előre is köszi!
Korcsii
őstag
kétlem, hogy ez lenne a jó megközelítés... 2-3 hét alatt meg simán át lehet állni, ha napi szinten foglalkozol vele (keveset - bár ez relative, ha belemélyülök, 1 óra is kevés)... legalábbis nekem sikerült... utána meg úgyis kelleni fog... ráadásul olyan dolgok, amik pascal-ban nem is nagyon vannak, vagy máshogy...
[ Szerkesztve ]
gaben
aktív tag
Sziasztok!
Van egy kis problémám C-ben. Van egy eljásárom fordul(...) néven. A probléma az ,hogy mikor az eljárás lefut, akkor a "bal" paraméter értéke 0, a main()-ben amikor beállítom az értéke 1-re, utána pedig mikor kiíratom ,akkor megvan az 1. De amikor az eljárás hívódik ott 0 érékkel kapja meg ezt a paramétert. Miért? Nem értem...Így az if(...) ágba sem lép bele.
Bemásolok egy kódrészletet(cska a lényeg):
#include <math.h>
#include <stdio.h>
int bal=0;
int jobb=0;
int fordulasVolt=0;
void balBeAllit(int x){
bal=x;
}
void fordul(int fordulasVolt,int jobb,int bal,DeviceTag kerek2, DeviceTag kerek1){
printf("\nFORDULASBA LEPETT A VEZERLES");
double start2=kerek2Start(kerek2);
printf("\nKerek2 start erteke: %g", start2);
printf("\nA BAL erteke: %d",bal); //bal értéke miért 0?
if(bal==1 && (servo_get_position(kerek2) >=start2-fordul90)) {
printf("A feltételben benen vagyok");
servo_set_position(kerek1,INFINITY);
servo_set_position(kerek2,-INFINITY);
fordulasVolt=1; //beállítása a változónak
balBeAllit(0); //bal értékének nullázása
}
else
fordulasVolt=0;
}
int main(){
while(1){
if((gpsEllenoriz(gps).Z>=1.4 && gpsEllenoriz(gps).Z<=1.45 ) && (gpsEllenoriz(gps).X>=-9.0 && gpsEllenoriz(gps).X<=-8.9)){
balBeAllit(1);
printf("\nBal erteke gps-nel: %d",bal); //itt bal értéke 1
fordul(fordulasVolt,bal,jobb,kerek2,kerek1); //eljárás hívása
printf("\nBal erteke gps-nel: %d",bal);
}
}
return 0;
}
Köszönöm a segítséget.
Jester01
veterán
void fordul(int fordulasVolt,int jobb,int bal,DeviceTag kerek2, DeviceTag kerek1)
...
fordul(fordulasVolt,bal,jobb,kerek2,kerek1);
Tetszik látni már a problémát?
Jester
dabadab
titán
Hoppá, ezért is jó structokat használni
[ Szerkesztve ]
DRM is theft
gaben
aktív tag
Köszi! Minél közelebb jár az éjfélhez a mutató, annál figyelmetlenebb vagyok .
gaben
aktív tag
Jobb-ot kicseréltem bal-ra. Idáig ,amikor futtattam, akkor a
printf("\nFORDULASBA LEPETT A VEZERLES");
printf("\nKerek2 start erteke: %g", start2);
általi szövegeket kiírta. Most meg ezeket nem írja. Nem kerül ide a vezérlés? Vagy miért ugorja át?
Karma
félisten
Úgy tűnik nem.
Ez a GpsEllenoriz(gps) mi, és honnan jön? Mert nem teljesül a feltétel ránézésre
Egyébként egy pár jótanács:
1) A programkódot a "Programkód" gomb megnyomása után másold be, hogy más is el tudja olvasni. A monospace sokat segít... Meg talán az indentáció is megmarad. Ugye indentálsz? Mert ha nem, akkor szokj rá.
2) Instant tarkónlövés, globális változó, amit utána érték szerint átadsz egy függvénynek, amit utána egy másik függvény ír... Legalábbis a bal esetében, a fordulasVolt globális változó értékét így nem fogod módosítani egyátalán... Az int* átadás kiment a divatból?
3) Még mindig nem tudom, a GpsEllenoriz(gps) mit csinál, de szerintem célravezetőbb lenne, ha csak egyszer futtatnád le ciklusonként, és a visszaadott struct példányt hasonlítgatnád a feltételben.
[ Szerkesztve ]
“All nothings are not equal.”
gaben
aktív tag
GpsEllenoriz(gps) -> Ez is egy függvény. Van egy eszköz ennek a neve gps. És ennek az értékét adja vissza. Ez egy struct típust ad vissza. Ez működik, nicsn gond vele. Kiíratásnál mindent kiír rendben.
Köszönöm a segítséget, javítom a hibákat.
Karma
félisten
Ezt gondoltam (elég gyanús a neve), a problémám inkább az, hogy négyszer végzel lekérdezést feleslegesen, ami idő alatt akár változhat is a pozíciód.
“All nothings are not equal.”
gaben
aktív tag
Sziasztok!
Szükségem lenne egy timer-re. Egy olyanra, ami külön szálon fut, elindítom ,és ha megállítom kiírja ,hogy hány másodpercig ment. Van ilyen alapból a time-h-ban vagy valamiben? Mert egy időzítőt elindítok a start pontban majd egy idő után megállítom ,akkor a start és a végidő között eltelt időből ki tudpm számolni ,de ez sajnos nem jó, mert ugyanazon a szálon fut. Windows alatt hogyan tudok szélkezelni? Néztem a pthread.h -t ,de nekem úgy tűnik ,hogy unix/linux specifikus. Ötlet? Vagy esetleg más módszer?
Köszönöm.
Jester01
veterán
Ezt most nem nagyon értem. Egyfelől egy időmérőnek nem kell "futnia": az csak annyi, hogy megjegyzed az időpontokat. Másfelől, ahhoz, hogy elindítsd/megállítsd eleve kell valami végrehajtási szálad legyen tehát egy másik szál innentől kezdve fölösleges.
Ettől függetlenül persze lehet szálakat csinálni windowson is, lásd msdn.
Jester
ArchElf
addikt
Miért van erre szükség? Miért nem jó a timer start/stop?
Amúgy szerintem ez kell neked (ha a Timer precizitása túl alacsony): QueryPerformanceCounter
AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
Karma
félisten
A szálkezelésre nincsen a C szabványban megoldás. A POSIX API-k segítségével lefedheted a Linuxot, illetve Windowson a Cygwin környezetet, de igazán univerzális megoldás külön utánajárás nélkül nincs.
“All nothings are not equal.”
Retekegér
HARDVERAPRÓD
Keresem a Juhász István - Kósa Márk - Pánovics János féle C példatár könyvet.
Ha valakinek van eladó, írjon rám. Előre is köszi!
<< Heimdal >>
Korcsii
őstag
hogy lenne célszerű személyneveket eltárolni?
random hosszúak, és azért feleslegesen ne foglaljunk sok memóriát...
realloc? láncolt lista? hányasával?
meg aztán jó lenne, ha kereshető lenne a tartalma valami nem túl bonyolult módon...
hmm, marad a realloc?
egyéb ötleteket/megerősítést szívesen fogadok
ntomka
nagyúr
j0k3r!
senior tag
hi!
c programozashoz milyen konyvet/ebookot ajanlanatok? mar jo par eve programozok (c++/c#), csak elso felevben nagyon gyorsan atugrottuk programozasbol a sima c-t, ami majd jovo felevben kelleni fog linuxhoz. (ha valakinek van valami pdf-e az johet pm-ben, vagy a mailemre)
elore is koszonom a segitseget
some men just wanna watch the world burn...
Gyuri16
senior tag
en a Kernighan es Ritchie fele A C programozasi nyelv konyvet ajanlom, angolul The C Programming Language. ez egy nagyon jo altalanos c konyv
Nem vagyok egoista, csak uborkagyalu!
j0k3r!
senior tag
koszonom szepen, meg is leltem idokozben.
some men just wanna watch the world burn...
Cicero
őstag
Sziasztok! Olyan lehetőleg Budapesti egyént keresek aki foglalkozik C programírással. Egyetemi beadandót kéne írni, szerintem aki ért hozzá annak kb két délután alatt összejön (azért két délután, mert vannak benne kikötések.. ). A programíráson kívül még annyi kéne, hogy röviden elmagyarázza a program működését!
Jelentkezni privátban, anyagiakat is majd ott. Köszönöm.
FireKeeper
nagyúr
Sziasztok!
Lenne egy kis problémám, ha valakinek van ideje, ránézhetne a kódomra.
Csak azt a függvény linkelem be, amivel a gond van, itt száll el a cucc, és nem igazán látom, hogy mi a gond (kezdő vagyok programozásban). A függvény feladata amúgy egy .TXT fájlból adatok beolvasása, és a számomra releváns adatokat eltárolnia egy sima mezei láncolt listában.
kód
előre is köszönöm annak, aki veszi a fáradtságot, hogy beleolvasson és segítsen (az okítás és a lehülyézés jöhet privátban is)
steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill
doc
nagyúr
regebben Pascaloztal? mert a kod nagyon olyan stilus
az strncpy-k nem jok, a man alapjan a karakterszamot adod meg, vagyis kapasbol tulcimzel (mivel a lezaro 0 karakter mar nem fer bele a tombbe, emiatt aztan jon a segfault), inkabb hasznalj memset-et az szebb is, vagy ha ragaszkodsz az strncpy-hez, akkor csokkentsd eggyel a karakterszamot
FireKeeper
nagyúr
kb olyan régen volt, hogy talán nem is volt, de igen, használtam pascalt is.
köszi a segítséget!
mod: az nem lehet hogy a láncolt listát szúrtam el valahogy? csökkentettem a karakterszámot, de ugyanúgy meghal a dolog.
[ Szerkesztve ]
steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill
doc
nagyúr
mindjart megnezem azt is, pill
FireKeeper
nagyúr
Igazából akár az egész forráskódot megmutathatom, hátha az fényt derít a hibára [link]
steam, GOG, uPlay: @petermadach || HotS: PeterMadach#2675 || Xperia 10 V || Ultrawide & SFF masterrace || Unofficial and unpaid VXE R1 shill
BlackMeow
csendes tag
izgalmas ajánlat - C-ben nem eladható, beágyazott rendszerekben jártas, autóiparban megfordult fejlesztőknek - akik szeretnének előrébb lépni!!!!!
hahóóóóóóó jelentkezzetek!!!!
j0k3r!
senior tag
inkabb itt hirdess.
some men just wanna watch the world burn...
Peteeke
csendes tag
Sziasztok!
Volna egy égető problémám
Van egy fájlom amiből kikell olvasni a szöveget,majd az ékezetes karaktereket kiíratni a képernyőre.Olvasás nemgond,de hogy veszem rá,hogy CSAK az ékezetes karaktereket írja ki?Nagy segítség lenne ha valaki tudna segíteni,a vizsgám múlik ezen
A processzor füsttel működik. Ha kimegy belőle a füst, nem működik tovább.
#25954560
törölt tag
mondjuk osszegyujtod az ekezetes karaktereket egy tombbe/listaba/akarmibe es minden karakterre megnezed h szerepel-e a tombodben. ha igen, kirajzolod.
sebesseg miatt erdemes legeloszor megnezni h az ascii erteke kisebb-e, mint 129 (129-nel van az elso), mert az gyors vizsgalat es hosszu szovegnel sokat szamit. el kell donteni h mi szamit ekezetes karakternek, csak magyar abc-e vagy pl az osszes 'a'-betu, ami felett van valami krixkrax
biztos van szebb megoldas is.
Peteeke
csendes tag
Hogy gyüjtöm össze a karaktereket?Ez a legnagyobb baj...:S
A processzor füsttel működik. Ha kimegy belőle a füst, nem működik tovább.
j0k3r!
senior tag
lehet egy tombben is.
char betuk[3]={'a','b','c'};
amikre az indexuk alapjan hivatkozol:
betuk[0]->a;
betuk[1]->b;
betuk[2]->c;
de az ascii-s megoldas elegansabb es gyorsabb.
[ Szerkesztve ]
some men just wanna watch the world burn...
Peteeke
csendes tag
Rendben
És tovább?
Hogy kerestetem meg?És hogy iratom ki?
A processzor füsttel működik. Ha kimegy belőle a füst, nem működik tovább.
j0k3r!
senior tag
ha van kodod, inkabb toltsd fel ide, aztan linkeld be ide a forumba.
some men just wanna watch the world burn...
Peteeke
csendes tag
A kódrészlet a linken.
Ez csak az olvasásos része.
Ezt kéne átalakítani úgy,hogy csak az ékezetes karaktereket írja ki.
http://pastebin.com/8h7UXK6e
A processzor füsttel működik. Ha kimegy belőle a füst, nem működik tovább.
Dolby
senior tag
Hali.
A problémám a következő lenne.
van egy menüm amit while ciklusban switch case-el kezelek. ha a menüpontot beüti a user, akkor elindítja a menünek megfelelő függvényt.
2 menüm van, amiben a függvény először egy stringet bekér a felhasználótól - fordítás céljából - majd kiírja a fordítás eredményét.
A gond viszont az, hogy a szöveg bekérésénél \n-ig olvas a függvényem, viszont azt hiszem, hogy a menüpont megadásakor benyomott enter miatt egyből tovább ugrik a függvényben lévő szövegbekérésen.
valami ötlet hogy oldhatnám ezt meg? :-)
Köszi
[ Szerkesztve ]
- Nyugalom, a hosszú élet ritka!
ITgoblin
csendes tag
Én anno egy Mozi jegykezelős feladatnál használtam menüt, ahogy te, én így oldottam meg:
void menuVarakozik() {
char be[15];
do {
getline(be);
if ( be[0] == '1' )
jegyElad();
else if ( be[0] == '2' )
jegyVisszavesz();
} while(be[0] != 'q');
}
És a getline függvény:
int getline(char s[]) {
int c,i;
i = 0;
while ( (c = getchar()) != '\n' && c != EOF ) {
s[i++] = c;
}
s[i] = '\0';
return c == EOF ? c : i;
}
Mondjuk, ha tippelnem kéne, akkor nálad a beolvasással van baj.
md5("I love php") = "8ec4f749c7537ed8a01bbb692ec6fb7b"
shev7
veterán
a problemad az hogy a scanf enterig olvas, es az entert az input bufferben hagyja. Vagy vedd ki az entert az inputbufferbol getchar-ral, vagy olvass fgets fuggvennyel.
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
Kurik
tag
Sziasztok!
Csak kérdezném hogy Ti hogy oldottátok meg hogy win7x64 alatt fusson a C?
Én próbáltam dosbox-al meg xp-mod-dal is de egyik se elégítette ki az elvárásaimat...mert a dosbox nem ismeri a billkombinációkat vagy egészen mást csinál rá
xp mod-ba pedig még nem indítom el a c-t addig jó a billentyűzet utána a balra jobbra lesz az enter esc meg ilyenek...
Valakinek valami megoldás?
16.án vizsgázok addigra beszeretném gyakorolni
Válaszotokat előre is Köszönöm!
Ha tévedek, ki lehet javítani :)
j0k3r!
senior tag
ez esetleg?
szerk: vs2010-ben tudok c console appot irni? vagy mas kene? (xpsp3-am van)
[ Szerkesztve ]
some men just wanna watch the world burn...
Téma tudnivalók
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!