- Panorámás, E-ATX-es toronyház a Thermaltake-től, akár "lopakodó" alaplapokhoz is
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
- Világelső, 321 cellarétegű QLC-s 3D NAND-ot hozott az SK Hynix
- USB portok garmadája az ASRock AMD-s alaplapján
- Xiaomi Mi Box androidos médialejátszó 4K és HDR támogatással
- AMD vs. INTEL vs. NVIDIA
- TCL LCD és LED TV-k
- Épített vízhűtés (nem kompakt) topic
- Valami baja van a tápomnak
- Házimozi belépő szinten
- Milyen billentyűzetet vegyek?
- HDD probléma (nem adatmentés)
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
Új hozzászólás Aktív témák
-
xors
senior tag
válasz
Headless #4127 üzenetére
a char[32], az ugyanúgy egy char* mutató, csak foglalva van hozzá 32db hely a memóriában.
A méret igazából csalóka mert lehet röviebb is mint a lefoglalt, stringek esetén az utolsó karakter utáni lezáró nulla ('\0') jelzi a végét, a strcmp is ezt használja.
A hiba arra utal, hogy valamiért a strcmp ki van kapcsolva, esetleg próbáld meg az#include <cstring>
std::strcmp(egyik, masik)ha így sem megy, akkor kell írni egy összehasonlító függvényt, az nem egy nagy cucc
int myStrCmp (const char *s1, const char *s2) {
const unsigned char *p1 = (const unsigned char *)s1;
const unsigned char *p2 = (const unsigned char *)s2;
while (*p1 != '\0') {
if (*p2 == '\0') return 1;
if (*p2 > *p1) return -1;
if (*p1 > *p2) return 1;
p1++;
p2++;
}
if (*p2 != '\0') return -1;
return 0;
} -
Z_A_P
addikt
-
xors
senior tag
válasz
Headless #4124 üzenetére
char* összehasonlításra ott a strcmp(const char* egyik, const char* masik) függvény. Ez tulajdonképpen a C string.
A tömböd jó úgy ahogy csináltad, const char* paramNames[4] = {//elemek}
Természetesen a char* -ok tömbjét (paramNames) végig kell nézned egyesével egy for ciklussal.Én ilyesmit csinálnék:
#include <string.h> //a strcmp -hez kell
for(int i = 0; i< 4; i++)
if(strcmp(name, paramNames[i])
//itt azt csinálsz amit akarsz velük, ekkor egyeznek megremélem tudtam segíteni
-
Headless
őstag
válasz
Headless #4123 üzenetére
A korábbi gondom megoldódott, viszont most inkább felétek való kérdésem lenne.
van egy karakter tömböm
char name[32]
nem én csináltam ez van megadva
és van egy (ezt úgy módosíthatom ahogy akarom)
const char *paramNames[4]={"ConPosX_1","ConPosY_1","ConPosX_2","ConPosY_2"};
tömböm és össze kellene hasonlítani a kettőt ha megegyezik, akkor kéne vele csinálnom valamit.
Namár most ha így szimplán if-be rakom őket nem fog megegyezni.
if(name==paramNames[i])
Próbáltam hogy a tömbömet valami olyasmi formában hozom létre, hogy
char paramNames[4][32];
paramNames[0]="ConPosX_1";csak így meg nem tudja a char [10]-et char[32]-be alakítani. Hogy kellene ezt helyesen megoldani?
Hú de el vagyok veszve itt a string/char, mutató tömbökkel sajnos ost jön elő, hogy nem vagyok képben ezekkel, próbáltam keresgélni, de sajnos nem találtam megfelelő megoldást.
-
válasz
Headless #4121 üzenetére
"hogyan tudom kiolvasni, hogy hány paraméterrel rendelkezik?"
Sehogy. Alapvetően két dolgot tudsz csinálni:
1. valahogy átadod a pointertömb mellé azt is, hogy hány eleme van
2. (és ez a javasolt) hagyod a C-s tömbökét és C++-ban C++-ban programozol, ami jelen esetben azt jelenti, hogy az STL konténerei közül használsz valamit, pl. vectort.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- LEGO klub
- Kerékpárosok, bringások ide!
- Autós topik
- Xiaomi Mi Box androidos médialejátszó 4K és HDR támogatással
- BestBuy topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- AMD vs. INTEL vs. NVIDIA
- TCL LCD és LED TV-k
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- További aktív témák...
- MINI PC HP PRODESK 600 G2 G3 G4 G5 i3 és i5 6-9. gen gar. Budapest MPL Foxpost
- AZTA! HP EliteBook 840 G8 Fémházas Laptop Ultrabook 14" -60% i7-1185G7 16/512 FHD IPS Iris Xe
- Asus P8H61-M LX R2.0 LGA 1155 alaplap, + Quad Core i5-2500 CPU
- LEGO Technic - Bugatti Chiron (42083)
- DJI Mavic 3 drón szett - 4/3" Hasselblad + 7x-es zoom kamera
- Bomba ár! Dell Latitude 7390 2in1 - i7-8G I 16GB I 256SSD I 13,3"FHD Touch I HDMI I Cam I W11 I Gar
- Nintendo Switch Joy-Con pair kontrollerek
- Gamer PC-Számítógép! Csere-Beszámítás! Ryzen 5 8400F / 32GB DDR5 / RX 7800XT 16Gb / 1TB SSD!
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
Állásajánlatok
Cég: FOTC
Város: Budapest