Aktív témák
-
Jester01
veterán
Az elsõ két problémára gyári megoldás az strtok függvény. Ha az nem tetszik, kézzel valami ilyesmi lehet:
char* nexttoken(const char** ptr, char delim)
{
char* ret = NULL;
if (*ptr && **ptr)
{
int length;
const char* start = *ptr;
const char* end = strchr(start, delim);
if (end == NULL)
{
length = strlen(start);
*ptr = NULL;
} else {
length = end - start;
*ptr = end + 1;
}
ret = malloc(length + 1);
strncpy(ret, start, length);
ret[length] = 0;
}
return ret;
}
Ha több delimiter van egymás után, akkor ez szépen üres stringeket fog visszaadni. A lista végén NULL-t kapsz, és minden visszaadott tokent neked kell free-vel felszabadítani (mint ahogy a 3. kérdésedben szereplõ strdup esetében is.)
Mivel hossz paramétert nem adsz át, ezért a bemeneti string végén ott kell legyen a lezáró nulla byte különben nagy baj lesz
Amúgy sokszor elég a token pozíciója és a hossza, ekkor megszabadulsz a memóriakezelés nyûgjétõl és gyorsabb is lesz.
Elismerem, hogy egy split az egyszerûbb
[Szerkesztve]
[Szerkesztve]
Aktív témák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Eredeti játékok OFF topik
- Autós topik
- Elektromos autók - motorok
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Parkside szerszám kibeszélő
- Bestbuy játékok
- Óra topik
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- 27% - Samsung S27D360GAU VA Monitor! 100Hz / 1920x1080 / 4ms
- Samsung Galaxy A34 5GB 128GB/6GB/Számlával!
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 Fe
- Azonnali készpénzes AMD Radeon RX 9000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- BESZÁMÍTÁS! Asus Z370A i7 9700 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Adata 600W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


