( TCH | 2020. 09. 26., szo – 13:00 )

> Látszik, meg se próbáltad megérteni amit írtam. Hogy a rákba adsz vissza mínusz egyet, ha az értékes visszatérési eredmény ami nem hibakód, az is lehet akkora hogy egy unsigned long long típus teljes értékkészlete is szükséges lehet rá, mert akadhatnak benne olyan értékek is, hm?!

Az egy példa volt a szeparálásra. Egy példa, ami a POSX-nál bevett szokás. A lényeg a szeparálás volt. Másik példa erre:

int div5wit(int input, int *error)
{
	if (input == 0)
	{
		*error = 1;
		return 0;
	}
	*error = 0;
	return 5 / input;
}

Vagy másképpen ugyanez:

int div5wit(int input, int *output)
{
	if (input == 0)
	{
		return 1;
	}
	*output = 5 / input;
	return 0;
}

Tessék, itt nem merülhet fel érttékkészletbeli probléma.

> Aztán jössz itt nekem stringnél a nullabájttal. Világosan leírtam pedig hogy HOSSZTÁROLÓS stringről beszélek.

Valahogy sikerült átugrani azt a bekezdést. Errare humanum est. Mindenesetre így is egy sor a dolgot lekezelni: if (s->length == 0) return 0;

> Hol van neked egy hossztárolós stringben a string végét jelző nullabájt?!

Nekem? Hát ha már kérdezed, nekem mindenütt, mert én kompatibilitásbeli okokból a hossztárolós stringek végére is odabiggyesztem a NUL karaktert. A hosszban természetesen az nincs jelölve, egyszerűen mindig +1 byte-ot allokálok neki.