Ĺadny brzuch
Witam, napisałem sobie taką funkcje:
AnsiString __fastcall TForm1::CutChar(int startPos, int endPos, char *arrayToCut) { AnsiString CuttingText=""; for (int i=startPos; i<= endPos; i++;)CuttingText +=arrayToCut[i]; return CuttingText; }
i jeśli mam char'a o zawartości 'blaallalalallalal\0\0\0\0\0\0\i jescze cos0\0\0\0\ i jescze cos\0\0\\0\0\0\0\'
i jak wrzuce go do tej funkcji to zawartość arrayToCut jestzawartosc tego chara co podałem do wsytapienia pierwszego '\0'. Poprostu go skraca. Co zrobić aby funkcja pobierała całą zawartość tego chara???
Ależ pobiera. Po prostu później wyświetla tylko do znaku końca tekstu, czyli do \0.
a jak zrobić aby wyswietlil calosc???
Albo wytnij zera wszystkie oprócz końcowego, albo przechowuj gdzieś długość ciągu i wyświetlaj znak po znaku.
chodzi mi o to aby zawartosc tego chara ktorego podaje i arrayToCut była taka sama bo inaczej ta funkcja traci sens. Funkcja ma działac jak subString tylko że na char.
Przecież jest taka sama. To znaczy arrayToCut wskazuje Ci na początek tego fragmentu pamięci, w którym jest ten ciąg znaków. Co dalej z tą pamięcią zrobisz to już zależy od Ciebie. Tylko pamiętaj, że \0 oznacza koniec ciągu znaków dla większości funkcji, więc musisz sobie wcześniej zapisać jak długi jest ten fragment, bo po tym nie poznasz.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
AnsiString __fastcall TForm1::CutChar(int startPos, int endPos, char *arrayToCut) { AnsiString CuttingText=""; for (int i=startPos; i<= endPos; i++;)CuttingText +=arrayToCut[i]; return CuttingText; }
i jeśli mam char'a o zawartości 'blaallalalallalal\0\0\0\0\0\0\i jescze cos0\0\0\0\ i jescze cos\0\0\\0\0\0\0\'
i jak wrzuce go do tej funkcji to zawartość arrayToCut jestzawartosc tego chara co podałem do wsytapienia pierwszego '\0'. Poprostu go skraca. Co zrobić aby funkcja pobierała całą zawartość tego chara???
Ależ pobiera. Po prostu później wyświetla tylko do znaku końca tekstu, czyli do \0.
a jak zrobić aby wyswietlil calosc???
Albo wytnij zera wszystkie oprócz końcowego, albo przechowuj gdzieś długość ciągu i wyświetlaj znak po znaku.
chodzi mi o to aby zawartosc tego chara ktorego podaje i arrayToCut była taka sama bo inaczej ta funkcja traci sens. Funkcja ma działac jak subString tylko że na char.
Przecież jest taka sama. To znaczy arrayToCut wskazuje Ci na początek tego fragmentu pamięci, w którym jest ten ciąg znaków. Co dalej z tą pamięcią zrobisz to już zależy od Ciebie. Tylko pamiętaj, że \0 oznacza koniec ciągu znaków dla większości funkcji, więc musisz sobie wcześniej zapisać jak długi jest ten fragment, bo po tym nie poznasz.