int strchk(const char *s) { if (s == NULL) return 0; if (strlen(s) == 0) return 0; return 1; } char * ujadat(const char *s, int *kezd) { if (*kezd < 0 || (!strchk(s))) return NULL; char *honnan = (char *)malloc(STR_HOSSZ + 1); strcpy_s(honnan, STR_HOSSZ, s + *kezd); char *meddig = strchr(honnan, elv); if (meddig == NULL) { *kezd = -1; return honnan; } size_t darab = (meddig - honnan); *kezd = (int)( *kezd + darab + 1); char *ered = (char *)malloc(darab + 1); memset(ered, 0, darab + 1); strncpy_s(ered, darab + 1, honnan, darab); free(honnan); return ered; }