- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Szevam: Mennyire tipik Z-gen viselkedés? Tipizálható-e egyáltalán?
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- body007: Magyarország kifosztásának története
- sziku69: Szólánc.
- Elektromos rásegítésű kerékpárok
Új hozzászólás Aktív témák
-
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 gyakorolniVálaszotokat előre is Köszönöm!
-
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
-
#25954560
törölt tag
válasz
Peteeke #2188 üzenetére
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 -
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!!!!
-
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
válasz
FireKeeper #2183 üzenetére
mindjart megnezem azt is, pill
-
doc
nagyúr
válasz
FireKeeper #2181 üzenetére
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
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! -
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
Úgy tűnik nem.
Ez a GpsEllenoriz(gps) mi, és honnan jön? Mert nem teljesül a feltétel ránézésreEgyé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
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
válasz
Klupi01 #2156 üzenetére
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
válasz
Gergosz2 #2154 üzenetére
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!
-
SDA
csendes tag
válasz
Peter Kiss #2150 üzenetére
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
válasz
Peter Kiss #2148 üzenetére
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.
-
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!
-
Karma
félisten
válasz
Retekegér #2138 üzenetére
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. -
doc
nagyúr
válasz
CPT.Pirk #2135 üzenetére
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 } -
-
doc
nagyúr
válasz
CPT.Pirk #2131 üzenetére
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");
} -
Gyuri16
senior tag
válasz
!wannabe #2128 üzenetére
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
Sziasztok,
Van egy kódom itt alant. (Nem én írtam csak átalakítottam)
Q.: Segmentation fault-al elszáll amikor új elemet adok hozzá, miért
Előre is köszi a segítséget.
-
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
válasz
CPT.Pirk #2125 üzenetére
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 adni
viszont 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
válasz
CPT.Pirk #2123 üzenetére
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 lesz
char *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 hasznaldnincs 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
válasz
CPT.Pirk #2121 üzenetére
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
válasz
CPT.Pirk #2119 üzenetére
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.
-
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? -
Jester01
veterán
-
vamzi
senior tag
válasz
Gyuri16 #2110 üzenetére
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.
-
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 isElőre is köszönöm!
-
Jester01
veterán
válasz
klayton#1 #2106 üzenetére
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
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AKCIÓ! GAMER PC: Új RYZEN 5 4500-5600X +RTX 3060/3070/3080 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ
- UHH! HP EliteBook 840 G8 Fémházas Laptop 14" -45% i5-1145G7 4Mag 32/512 FHD IPS Intel Iris Xe Magyar
- Xiaomi Redmi Note 13 Pro 5G - 8/256 - Media Markt garancia
- Xiaomi Redmi 9at - 2/32 - szürke
- Xiaomi Mi8 - 6/128 - fekete
- BESZÁMÍTÁS! Gigabyte B650M R7 7700 32GB DDR5 1TB SSD RTX 5070 12GB BE QUIET! Pure Base 500DX 650W
- Telefon felváráslás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- NJOY Aster 3K 3000VA/2700W Rack Szünetmentes Táp
- Már csak 12 db 5G ROUTER! - Telenor 5G Indoor WiFi Router (FA7550) + töltő (bolti áruk 100.000Ft)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest