-
2200 - 2101
6397 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-04-25 14:12 Téma összefoglaló
Új hozzászólás Aktív témák
-
Kurik
tag
-
j0k3r!
őstag
-
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!

-
shev7
veterán
-
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.
-
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
-
Peteeke
csendes tag
-
j0k3r!
őstag
-
Peteeke
csendes tag
-
j0k3r!
őstag
-
Peteeke
csendes tag
-
#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
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
-
j0k3r!
őstag
-
BlackMeow
csendes tag
-
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]
-
doc
nagyúr
mindjart megnezem azt is, pill
-
FireKeeper
nagyúr
-
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
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ódelő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)

-
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. -
j0k3r!
őstag
-
Gyuri16
senior tag
-
j0k3r!
őstag
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
-
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
-
Retekegér
MODERÁTOR
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! -
Karma
félisten
-
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): QueryPerformanceCounterAE
-
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.
-
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.
-
Karma
félisten
-
gaben
aktív tag
-
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.
-
gaben
aktív tag
-
gaben
aktív tag
-
dabadab
titán
-
Jester01
veterán
-
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ásaprintf("\nBal erteke gps-nel: %d",bal);
}
}return 0;
}Köszönöm a segítséget.
-
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...
-
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! -
CPT.Pirk
Jómunkásember
codeblocks elvileg megy win7 alatt. Viszont egy nagyságrenddel kevesebb a szopás linux alatt, pl. Ubuntu, Mint...
-
Gergosz2
veterán
linkeljetek egy c fordítót ami működik win7 64 bit alatt!
-
Peter Kiss
őstag
-
shev7
veterán
-
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 copyennyi van leírva nekem, hozzá.
-
Peter Kiss
őstag
Igen, a konzolablak méretéhez képest kellhet igazítani. Ilyet leltem:
#include <sys/ioctl.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc,char **argv)
{
struct winsize ws;
if (ioctl(0,TIOCGWINSZ,&ws)!=0) {
fprintf(stderr,"TIOCGWINSZ:%s\n",strerror(errno));
exit(1);
}
printf("row=%d, col=%d, xpixel=%d, ypixel=%d\n",
ws.ws_row,ws.ws_col,ws.ws_xpixel,ws.ws_ypixel);
return 0;
} -
doc
nagyúr
esetleg lehet hogy a kepernyo szelessegehez kepest kell igazitani?
jogos, a vegere nem feltetlenul kell space (ha szines hatteret meg egyeb marhasagokat akarsz, akkor jol johet, bar azt meg mashogy illik megoldani) -
Peter Kiss
őstag
Szar a feladat, mi lenne.
középre igazítani csak valamihez képest lehet, amíg ez nincs tisztázva, kár vele foglalkozni. Esetleg le kell kérdezni, mennyi hely áll rendelkezésre (fogalmam sincs, hogyan kell).Emellett elég csak az elejére szóközöket rakni. Amire még érdemes lehet figyelni, az a fél betűnyi hely problémája. Kerekítésre ötlet:
int space_count;
double space;
space_count = ( int ) ( ( (line - strlen) / 2 ) + 0.5);A line az a sor hossza, az strlen pedig a szöveg hossza.
-
SDA
csendes tag
-
F-ECT$
titán
-
SDA
csendes tag
-
doc
nagyúr
pontosan mi a feladat? adott egy string meg egy szelesseg, es jobbrol es balrol space-ekkel kell feltolteni amig el nem eri a megadott meretet? mert akkor csak annyit kell csinalni ami maga a feladat: az elejere teszel egy space-t, ha nem erte el a kivant szelesseget akkor a vegere is, ha igy sem, akkor kezded elolrol
vagy egy szebb megoldas: a megadott szelesseg es a string hosszanak kulonbseget elosztod kettovel, es az elejere meg a vegere is ennyi space-t illesztesz (paratlan eseten meg a vegere meg egyet)
-
SDA
csendes tag
Hali!
Egy kis segítségre lenne szükségem! Cprogból van egy csomó feladat, string kezelő util-t kell csinálni, és fönnakadtam a középre igazításnál... strCenter()... kerestem és találtam is a neten mintákat, de az egésznek a működését nem értem. Esetleg valaki letudná írni nekem, hogy PC szintén itt minek kell történnie, esetleg egy kezdő lökés is jól jönne.
Köszi!
-
Retekegér
MODERÁTOR
-
Karma
félisten
-
Retekegér
MODERÁTOR
-
Karma
félisten
Milyen szinten? Alapozásnak szerintem ez egy elég jól sikerült könyv-kettős. Az első kötet végig alap-algoritmusokat gyakoroltat, a másodiknál már gondolkozni is kell néha
(Meg nem is tetszett annyira.)Ha valami higher level kéne, arra már nem tudok mit mondani.
Mondjuk valami webbel kapcsolat feladatsorra én is kíváncsi lennék, pl. amin lehetne GWT-t vagy Vaadint gyakorolni.
-
Retekegér
MODERÁTOR
Hali!
Tudnátok ajánlani értelmes feladtagyűjteményt (akár nyomtatott, akár online verziót)?
Ezalatt azt értem, hogy jó lenne minél több gyakorló feladat egy-egy témakörhöz. -
!wannabe
tag
-
doc
nagyúr
igen, ezert szoktak a main-t legalulra tenni (illetve a hasznalt fv-eket kulon file-okba)
de elkerulheted ezt az uzenetet, ha meg a main elott deklaralod a fuggvenyedet, igy pl. nem kapsz egy warningot sem:1 #include <stdio.h>
2
3 int strIsEmpty(const char *str);
4
5 int main ()
- 6 {
| 7 char test[]="";
| 8 strIsEmpty(test);
| 9 return 0;
| 10 }
11
12 int strIsEmpty(const char *str)
- 13 {
- 14 if(!*str || !str){
2 15 printf("A string ures\n");
2 16 return 1;
2 17 }
| 18 printf("Nem ures a string\n");
| 19 return 0;
| 20 } -
CPT.Pirk
Jómunkásember
-
doc
nagyúr
-
CPT.Pirk
Jómunkásember
-
doc
nagyúr
na igy mar alakul
ket dolog: az if-nel megforditanam a ket feltetelt, tehat igy: if(!str || !*str), ugyanis igy eloszor a NULL pointert ellenorzod le, csak utana azt, ahova mutat, de a mostani megoldas is teljesen joa masik mar kicsit csunyabb: a fuggvenyednek csak akkor van visszateresi erteke, ha ures a string, kellene a vegere egy return 0; igy ha nem ures, akkor 0-t ad vissza (erre elvileg a fordito figyelmeztetett is teged!)
-
CPT.Pirk
Jómunkásember
No, végre összeállt a dolog. Miután végiggondoltam, rájöttem h. nem is kell nekem végiglépkedni a stringen, felesleges az egész while cucc bele, mert az már másnak a feladata, hogy akkor is üres stringet adjon vissza, ha space, tab van benne, nekem csak simán üres stringet kell keresnem. Beírva valamit a test[] mögé, frankón eldönti, hogy mi a helyzet. Szóval szerintem jó így.
#include <stdio.h>
int main ()
{
char test[]="";
strIsEmpty(test);
return 0;
}
int strIsEmpty(const char *str)
{
if(!*str || !str){
printf("A string ures\n");
return 1;
}
printf("Nem ures a string\n");
} -
Karma
félisten
-
Gyuri16
senior tag
az add fuggvenyedben van a hiba a
end->next = new;
sornal. az elso elem hozzaadasanal az end NULL, ezert a segfault.valami ilyet javaslok:
void add( struct node *new ) /* adding to end of list */
{
if( head == NULL ) /* if there are no nodes in list, then */
head = new; /* set head to this new node */
if (end != NULL) // megnezzuk van e mar utolso elem
end->next = new; /* link in the new node to the end of the list */
new->next = NULL; /* set next field to signify the end of list */
end = new; /* adjust end to point to the last node */
} -
!wannabe
tag
-
CPT.Pirk
Jómunkásember
Igen, while-nál kimaradt, a pointerrel meg kezdek valamit. Az óra végén csak egy fordításra volt időm, akkor nem adott hibát, de végtelen ciklus volt, mert rossz feltételt írtam a whilehoz. Per pill itt sem tudom lefuttatni, mert nem tudok átlépni a linuxra egy fontos feltöltés miatt, aztán itt a w7 x64-en csak a cygwin van fent, de az meg amit lefordít, az exe hiányol egy nem létező 64 bites dll-t a cygwinből. Van más alternatíva, de nem akarok win alatt progni, majd holnap megcsinálom Mint alatt, csak bedobtam a félkész kódot, hogy kb. mi a terv.

-
doc
nagyúr
a parameteratadas pont ugy tortenik mint Lua-ban meg a programozasi nyelvek tulnyomo reszeben: a fuggvenynev utani zarojelbe irod
igaz, a C tipusos nyelv, tehat azt is meg kell adniviszont amit irsz, nem igazan jo
a while ciklusod addig fut, amig a string elso karaktere nem a lezaro nulla, viszont mivel a pointert nem valtoztatod, mindig ugyanoda (az elso karakterre) mutat
raadasul nem hasznaltal { } -t, igy ures stringnel a vegtelensegig azt fogja irogatni hogy ures
egyedul akkor fog visszaterni, ha NULL pointert adsz at neki, mivel akkor mar a while-ba sem fut bele, viszont olyankor meg fix 1-et ad visszacsak azt nem ertem, miert nem probalod ki a programot? akkor egybol kiderulne hogy nem jo...
-
CPT.Pirk
Jómunkásember
No, ellestem pár dolgot órán, meg elvileg csak annyit kell csinálnom, hogy üres-e a string, mert a tab, space vizsgálat már a köv. srác dolga, aki az strIsBlank-et írja.
Órán eddig jutottam el:
int main ()
{
char test[]="abc";
strIsEmpty(test);
return 0;
}
int strIsEmpty(const char *str)
{
while(str)
if(!*str || !str)
printf("ures string");
return 1;
printf("nem ures a string");
}Nem volt időm lejavítani, majd holnap megcsinálom. A lényeg az, hogy be kell mutatni a működést is, ezt ott a mainben egy string értékadással oldottam meg. Azzal volt bajom főleg, hogy hogyan jut át a string, pointer egyik függvényből a másikba. Lua-ban sokkal egyszerűbb volt leírni olyasmit.
-
doc
nagyúr
ja igen, a bool nem C-s tipus (nagyon regota C++ -ozok
). a bool-t csereld ki int-re, a false-t 0-ra, a true-t meg 1-re es jo leszchar *p; -csinál egy pointert. De ez most mutat valamire? Vagy csak üres tömb?
mivel erteket nem adtal neki, 'sehova' nem mutat, pontosabban de, csak teljesen random helyre (igy ha pl irni akarsz oda, akkor jo esellyel egybol segfaultot kapsz)for (p=s; *p; ++p) - itt a kezdőérték mi? A p megkapja az s elemeit? A feltétel meg az hogy amíg van eleme, és addig a ++p lépteti az elemeket?
a p ugyanoda fog mutatni ahova az s, vagyis a string elso karakterere
a *p azt a karaktert jelenti, ahova a p mutat. mivel C-ben a 0 hamis, a nem 0 pedig igaz, ez a feltetel akkor teljesul, ha *p nem 0. vagyis ha elertuk a string veget jelzo 0-t, a feltetel hamis lesz, es a ciklusnak vegea fuggvenynek semmi koze a scanf-hez, olyan stringgel hivod meg amilyennel akarod, ez nyilvan lehet egy scanf-el bekert is
amugy a scanf valoban az ordog muve, ne hasznald
nincs pl semmi ellenorzes a hosszra, igy ha kicsi tombot foglalsz neki akkor egybol el is crashel a programod. azonkivul a whitespace karaktereket (pl space) mezoelvalasztonak fogja fel, tehat ha space-t is tartalmazo stringet akarsz beolvasni, akkor nem mesz vele sokra 
erre szokas irni ellenorzott getline fuggvenyt, Gyorben pl. Bauer is 'kiadott' egyet, amit nyugodtan lehet hasznalni vizsgan is
-
CPT.Pirk
Jómunkásember
Bedobva a fordítóba, már rögtön a bool után hiányol valamit.
Ha jól értem:
bool isempty(char *s) - itt az *s lesz az a string, amit vizsgálunk.char *p; -csinál egy pointert. De ez most mutat valamire? Vagy csak üres tömb?
for (p=s; *p; ++p) - itt a kezdőérték mi? A p megkapja az s elemeit? A feltétel meg az hogy amíg van eleme, és addig a ++p lépteti az elemeket?
if (*p != ' ' && *p != '\t') - itt a space és a tab vizsgálat van, ez tiszta.
Hogyan tudnám összehozni a dolgot mondjuk egy scanf-el? Az argv dolog szerintem itt nm jó, mert annak alapból az első eleme a file neve. A t. tanárúr nem szereti a scanfet, de kipróbálni jó lenne.
Régen volt a C, lua-ban csináltam pár dolgot az elmúlt 2 évben, az sokkal egyszerűbbnek tűnik egyenlőre.
-
doc
nagyúr
ha space meg tab is uresnek szamit, akkor kicsit valtozik a logika, vegig kell iteralni a stringen, es ha olyan karaktert talalsz ami a fentiek egyike sem, akkor nem ures
pl:bool isempty(char *s)
{
char *p;
for (p=s; *p; ++p)
if (*p != ' ' && *p != '\t')
return false;
return true;
}ki nem probaltam, de igy ranezesre jonak kell lennie

a *s ugye a karakter amire az 's' valtozo mutat (jelen esetben, mivel a pointer es a tomb C-ben ugyanaz, a string elso karaktere)
ha ez a string veget jelzo 0, akkor nyilvan ures, tehat a !*s igaz lesz (ez ugyanaz mint a *s == 0)de a space/tab miatt ez ugyebar mar nem jatszik

-
CPT.Pirk
Jómunkásember
Ilyesmire gondolok, de még tudnia kel azt, hogy a space és tabulátor esetén is ürse scriptet ad vissza, azok esetében viszont akkor más karakter nem lehet. Szal ne bonyolítsuk, ha csak egy karakteres a string, akkor meg kellene nézni, hogy spacve v. tab van-e, vagy ha egyik sincs, akkor meg amit te írtál. Ezeket kellene egybegyúrni.
Viszont egy kis magyarázatot kérnék, én legalább egy IF függvénnyel gondolkodtam eddig.
-
doc
nagyúr
a gond az hogy nem ertem mit szeretnel

az *argv[] mar eleve egy tomb. ha masolni szeretnel, hasznalhatod cikluson belul az strcpy fuggvenyt
ha parameterkent akarod atadni, akkor siman char* a tipus es kesz
ha azt akarod megnezni hogy ures-e, az a legegyszerubb
pl:bool isEmpty(char* s)
{
return !*s;
vagy
return s[0] == 0; (igy olvashatobb, de kevesbe helytakarekos, es foleg kevesbe 'geek' :D)
} -
CPT.Pirk
Jómunkásember
Van egy problémám.
Üres stringet kell detektálnom C-ben. A probléma, hogy kvázi függvénybe kell ezt megcsinálni, hogy máshonnan kapjon stringet, szal nem előre a kódba írt stringet kell vizsgálni.
Szóval valahonnan jön a script, ráadásul még pointerezni is kell. Ötletek?Sokat próbáltam a pointereket, de nem akar menni a dolog. Pl. próbáltam kiírni a pointer által mutatott string elemeit, de csak számokat kapok.
Van pl. az argc *argv-s argumentum bekérés, hogy tudom megcsinálni, hogy átkerüljön a tartalma egy sima tömbbe, amivel lehet dolgozni?
Meg ilyen alap kérdések, plusz pár dolog, amiből még kérdezni sem tudok.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
PetX
aktív tag
Sziasztok!
Fejlesztőt keresek.
Leírás:
Adott egy központi rendszer (PC+GSM modul) és kliensként PLC egységek.
Ez egy adatgyűjtő rendszer, az állapotváltozásokat SMS-ben küldi a központi rendszernek(KR).
A KR SQL táblában letárolja az adatokat, és mint riasztás az adott telefonra tovább küldi riasztás képpen. Kapcsolódik hozzá egy PHP-s alapú webes felület a LOG-ok illetve események manuális listázásához, új PLC-s egységek/riasztások felvitelére.
A KR-re írt program, C-ben íródott a forráskód is megvan, de sajnos nincs a programnak megfelelő hibakezelése. Linux környezet (SuSE).
Mivel a SMS kódtábla adott és nem akarjuk az összes PLC-t is újra programozni így a régit szükséges használni.Nagy vonalakban erről lenne szó, ha van ilyen ismerősötök vagy cég akit tudtok ajánlani, ne tartsátok vissza!

Akit érdekel Írjon PÜ-t.Félre a viccet, komolyan szükségem lenne legalább 2 fejlesztőre árajánlat stb.
-
Juhtúró
tag
sziasztok,
tud vki egyszerű megoldást, gccben itoa függvény pótlására? -
vamzi
senior tag
-
vamzi
senior tag
-
vamzi
senior tag
Köszönöm szépen, ezen tényleg el tudok indulni. Az első linkben szereplő könyvnek van magyar változata is és ez sokat lendít a dolgon.
Úgy érzem a linux-os változatot fogom benyakalni, úgy sem áll tőlem távol.Most már van annyi olvasnivalóm, hogy egy kis időre eltűnök, és majd jövök mikor nekiállok a tényleges kódot összerakni.
Köszönöm még egyszer!

További szép napot.
-
Jester01
veterán
-
Gyuri16
senior tag
eloszor meg kell tanulnod hogyan tudsz halozaton komunikalni c-bol. ehhez a kulcsszo a socket. en eddig csak linuxon programoztam ilyet, de gondolom elegge hasonlo lesz windowson is. kezdetnek par link:
[link]
[link]
winsock (windowsos api):
[link]ha ez megy akkor a http protokolt kell elsajatitani. ebbol neked leginkabb a get method kell. (ezt legjobb ugy tanulni, hogy telnettel csatlakozol a kivant oldal 80-as portjahoz, es elkuldod neki a keresed, es nezed milyen valaszt kapsz)
a program igy fog kinezni:
csatlakozol a kivant weboldal 80-as portjahoz
elkuldod a http requestet, ami kb igy nez ki:GET /index.html HTTP/1.1
Host: www.example.comvalaszkent kapsz egy http headert, ebbol kihamozod a hibakodot. ha ez 200 akkor jo, es a header utan maga a dokumentum van, ha mas akkor valami hiba van (ami nem feltetlenul rossz, "hiba" lehet atiranyitas is, ezeket fel kell dolgozni valahogy)
(ha csak a forraskod kell, akkor ennyi, ha a tobbi fajl is - css, kepek, scriptek - akkor azokat hasonlo modon http-vel lekered)egyelore ennyi, ha gondolod nezz utana ezeknek, es ha valami nem vilagos nyugodtan ird ide a konkret kerdeseket.
-
vamzi
senior tag
Sziasztok!
A segítségeteket szeretném kérni, a következő problémámhoz:
Hogyan lehet azt C-ben megvalósítani, hogy a programom az adott weboldal forráskódját lementse txt-be?
Nem a kész megoldást kérem(azért egy példaprogramot nem vennék rossz néven
), hanem iránymutatást, doksikat, olvasmányokat, szakirodalmat. A nyelve angol vagy magyar lehet, utóbbi előny, de előbbi is megfelel.
De ha valaki fejből leírja, akkor elég nekem pszeudo nyelven is
Előre is köszönöm!
-
klayton#1
tag
-
Jester01
veterán
1) legközelebb lehetőleg szövegesen másold be a kódot mert én ugyan nem fogom begépelni, hogy kipróbálhassam
2) a belső ciklusod minden egyes különbségre másol egyet. Először összehasonlítja az e-t az e-vel, stimmel, nem történik semmi. Aztán az e-t az l-el, nem stimmel, másolja az e betűt. Jön az m, nem stimmel, másol még egy e betűt. És így tovább. A segfault azért lesz, mert hosszabb lesz a kimenet mint az eredeti string. Úgy kellene, hogy a belső ciklus csak megállapítja, hogy benne van-e az adott betű a másik tömbben, és utána egyszer másolja ha szükséges. -
klayton#1
tag
hello, egy ujabb problemam lenne, a következő feladat megoldásában:
"Exercise 2-4. Write an alternative version of squeeze(s1,s2) that deletes each character in
s1 that matches any character in the string s2."Az én megoldásom a képen látható, viszont valamiért "segmentation fault" hibaüzenetet ír ha futtatom. valaki tudna esetleg segíteni, hogy kéne kijavítani?

-
brsd
csendes tag
-
doc
nagyúr
-
brsd
csendes tag
-
doc
nagyúr
-
brsd
csendes tag
Új hozzászólás Aktív témák
-
2200 - 2101
6397 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Star Trek Online -=MMORPG=-
- Sorozatok
- Óra topik
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Eladhatatlannak ítélt CPU-k eladásával javult az Intel node-ok kihozatala
- Gyúrósok ide!
- Renault, Dacia topik
- World of Tanks - MMO
- Steam topic
- További aktív témák...
- OH! Dell Latitude 7340 Üzleti Profi Fémházas Ultrabook Laptop 13,3" -65% i7-1365U 16/512 FHD IRIS Xe
- Felújított (Refurbished) DELL Latitude 5440 Tartós Üzleti Laptop 14" -40% i5-1345U 10Mag 16/512 FHD
- Dobozos DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -30% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- Samsung Galaxy S26 Ultra 12/512gb - Makulátlan, Samsung gari, tokkal és fóliával, akár beszámítással
- Új Dobozos Lenovo Thinkpad P14s G5 Workstation Laptop 14,5"-60% Ultra 7 165H 32/512 RTX 500 3K 120Hz
- Akció!!! Sosemhasznált! HP OmniBook 5 i7-1355U 16GB 512GB 16" FHD+ Gar.: 1 év
- Samsung Galaxy S23 256GB,Újszerű,Adatkabel,12 hónap garanciával
- AKCIÓ! Lenovo Thinkpad L14 Gen 1 notebook - i5 10210U 16GB DDR4 512GB SSD Intel UHD GraphicsW11
- 266 - Lenovo ThinkBook 16 (G6 ABP) - AMD Ryzen 5 7430U, no GPU
- Otthoni AI Workstation (E5-2697 v3, 32GB RAM + 2x RTX 3060 12+12GB VRAM)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest









középre igazítani csak valamihez képest lehet, amíg ez nincs tisztázva, kár vele foglalkozni. Esetleg le kell kérdezni, mennyi hely áll rendelkezésre (fogalmam sincs, hogyan kell).

(Meg nem is tetszett annyira.)
![;]](http://cdn.rios.hu/dl/s/v1.gif)

igaz, a C tipusos nyelv, tehat azt is meg kell adni

