Witam,
programuję ostatnio w C++ i potrzebuję funkcji operujących na łańcuchach znaków. Standardowe jednak mi nie odpowiadają, dlatego też postanowiłem napisać własne.
Oto dwa przykłady takich funkcji:
unsigned int StringLen(char* String)
{
unsigned int Char;
while (String[Char] != 0)
Char++;
return Char;
}
char* StringLeft( char* String, unsigned int Count)
{
char* NewString = (char*)GlobalAlloc(0x0040,Count+1);
for(int ch = 0; ch < Count; ch++ )
NewString[ch]=String[ch];
return NewString;
}
Jak się domyślacie, pierwsza zwraca długość tekstu, druga zaś jego lewą część określoną w ilości bajtów.
Funkcje wydają się działać poprawnie, jednak czy jest tak rzeczywiście? A może jest jakiś lepszy sposób, o którym nie wiem? Myślicie, że użycie GlobalAlloc w tym przypadku to dobry pomysł?
Chciałbym się czegoś nauczyć. Liczę na wiele ciekawych wskazówek. :)