Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- potyautas: Gépjármű ügyek
- Magga: PLEX: multimédia az egész lakásban
- pechman8: 300B vs. GU50: a Herceg és a Koldus
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Szólánc.
- sparks: Az első 7 nap egy iPhone 17 Pro Max-szal
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Új hozzászólás Aktív témák
-
tototos
addikt
Sziaszto!
Egy érdekes problémával állok szembe. C-ben szeretnék stringeket darabolni. Ez egyenlőre nem tűnik nagy feladatnak, van egy függvényem ami szépen darabolja a dolgokat. A gond ott kezdődik, hogy amikor fel akarok szabadítani a feldarabolt részeknek allokált területet akkor egyszer a free függvény váratlan hibát generál és a mikrovezérlőm elmegy egy végtelen ciklusba.
EZ lenne a daraboló függvény:
char** str_split(char* a_str, const char* a_delim)
{
char** result = 0;
size_t count = 0;
char* tmp = a_str;
char* last_comma = 0;
size_t index;
/* Count how many elements will be extracted. */
while (*tmp)
{
for (index = 0; index < strlen(a_delim); ++index)
{
if (*(a_delim+index) == *tmp)
{
count++;
last_comma = tmp;
}
}
tmp++;
}
/* Add space for trailing token. */
count += last_comma < (a_str + strlen(a_str) - 1);
/* Add space for terminating null string so caller
knows where the list of returned strings ends. */
count++;
result = malloc(sizeof(char*) * count);
if (result)
{
size_t idx = 0;
char* token = strtok(a_str, a_delim);
while (token)
{
assert(idx < count);
*(result + idx++) = strdup(token);
token = strtok(0, a_delim);
}
//assert(idx == count - 1);
*(result + idx) = 0;
}
return result;
}Ez pedig egy része a kódnak:
tokens = str_split(line, ",;");
if (tokens)
{
LINScheduleTable[frameIndex].Frame.SignalIDs_lda16[signalIndex] = atoi(*tokens);
LINScheduleTable[frameIndex].Frame.SignalOffsets_lda8[signalIndex] = atoi(*(tokens+1));
for (i = 0; *(tokens + i); i++)
{
free(*(tokens + i));
}
free(tokens);
}Az érdekesség, hogy ez a részlet meghívódik kb 25-ször, és 26. lépésnél száll el.
Láttok valami hatalmas hibát a kódban?Köszi
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Projektor topic
- Konzolokról KULTURÁLT módon
- Apple iPhone Air - almacsutka
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- CADA, Polymobil, és más építőkockák
- Villanyszerelés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kuponkunyeráló
- Samsung Galaxy Felhasználók OFF topicja
- További aktív témák...
- BESZÁMÍTÁS! MSI B760 i5 13400 32GB DDR5 512GB SSD RTX 4070 12GB ÚJ Zalman T4 Plus FSP 650W
- Alig használt Chromecast 3 eladó!
- BESZÁMÍTÁS! MSI H310M i5 9500 16GB DDR4 120GB SSD 2TB HDD RTX 2060 Super 8GB ÚJ Zalman T4 Plus 600W
- BESZÁMÍTÁS! MSI H310M i5 9500 16GB DDR4 120GB SSD 2TB HDD RTX 3050 8GB Zalman T4 Plus AeroCool 550W
- BenQ DesignVue PD2705U 4K Designer Monitor!27"/99% sRGB/Pantone/AQCOLOR/Type-c/Mac Ready/Beszámítás!
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C docking station (akár 3x4K felbontás)
- LG 27GP95RP - 27" Nano IPS - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 600
- BESZÁMÍTÁS! 1TB Samsung 980 Pro NVMe SSD meghajtó garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Samsung UE46F5005AK 46" (116cm) FULL HD LED TV
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest