- Samsung Galaxy S26 - szeret, nem szeret
- Android alkalmazások - szoftver kibeszélő topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Milyen okostelefont vegyek?
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- iPhone topik
- Samsung Galaxy S26 Ultra - fontossági sorrend
Ú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!
- AliExpress tapasztalatok
- EA Sports WRC '23
- Samsung Galaxy S26 - szeret, nem szeret
- Hálózati / IP kamera
- Linux kezdőknek
- Formula-1
- Luck Dragon: Óraátállítás
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- SkyShowtime
- Android alkalmazások - szoftver kibeszélő topik
- További aktív témák...
- AKCIÓ ÚJ Bontatlan Macbook Pro 16 M4 MAX 14 32GPU 36GB 1TB Magyar billentyűzet Azonnal átvehető Deák
- AKCIÓS ! MacBook Pro 16" M1 Pro 16GB RAM 512GB SSD! 1 év garancia!
- EVGA RTX 3080 10GB GDDR6X FTW3 ULTRTA GAMING Eladó!
- Dell Latitude 5490 14",FHD,i5-8350U,8GB,256GB SSD,WIN11
- Synology Plus 16TB - HAT3310-16T - Új - Eladó!
- Bomba ár! Lenovo ThinkPad L13 G2 - i5-11G I 16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- Oneplus 9 128GB,Átlagos,Adatkabel,12 hónap garanciával
- LG 28MQ780 - Dual Monitor - Nano IPS - 2560x2880 - HDR10 - USB Type-C - AMD FreeSync - MacBook Ready
- BESZÁMÍTÁS! ASRock A520M R5 5500 16GB DDR4 512GB SSD RTX 2060 6GB CM Masterbox MB311L ARGB 500W
- SZÁLCSISZOLT FÉM HATÁSÚ Dell Latitude 5420 14" Touchscreen i5-1135G7 16GB 256GB 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

