wikitabela
poprawki |
wikitabela |
||
Linia 83:
Jak widać, manipulacje obiektami <tt>string</tt> są intuicyjne. Oprócz wygodnych w stosowaniu operatorów, klasa string posiada jeszcze więcej metod.
!Metoda
!Opis
<tr><td><tt>empty()</tt></td><td>Zwraca wartość true jeżeli napis jest pusty.</td></tr>▼
|-
|<tt>empty()</tt>
<tr><td><tt>at()</tt></td><td>Zwraca znak o podanym położeniu, podobnie jak operator [] z tym że ta metoda jest bezpieczniejsza, zapobiega wyjściu poza zakres.</td></tr>▼
<tr><td><tt>clear()</tt></td><td>Usuwa wszystkie znaki z napisu.</td></tr>▼
|-
|<tt>size(),length()</tt>
<tr><td><tt>find(...)</tt></td><td>Znajduje podciąg w ciągu, są też bardziej rozbudowane funkcje tego typu.</td></tr>▼
|Zwraca ilość znaków w napisie.
<tr><td><tt>swap(...)</tt></td><td>Zamienia miejscami dwa stringi, a staje się b, a b staje się a.</td></tr>▼
|-
<tr><td><tt>substr(... )</tt></td><td>Zwraca podciąg na podstawie indeksu początkowego i długości podciągu.</td></tr>▼
|<tt>at()</tt>
<tr><td><tt>append(...)</tt></td><td>Dodaje zadany napis na końcu istniejącego ciągu.</td></tr>▼
▲
<tr><td><tt>c_str()</tt></td><td>Zwraca napis w stylu języka C (stały wskaźnik typu <tt>const char*</tt>).</td></tr>▼
|-
|<tt>clear()</tt>
|-
|<tt>erase(...)</tt>
|Usuwa wybrane znaki.
|-
|<tt>find(...)</tt>
▲
|-
|<tt>swap(...)</tt>
▲
|-
|<tt>substr(...)</tt>
▲
|-
|<tt>append(...)</tt>
|-
|<tt>c_str()</tt>
▲
</table>
Linia 101 ⟶ 122:
Omówione dotychczas operatory i metody to tylko część dostępnych; wymienione zostały tylko te najczęściej używane. Teraz przedstawię różnice jakie występują między C a C++ w obsłudze napisów.
{|class="wikitable"
!C
!C++
|-
|<tt> a = b</tt>
|-
|<tt>strcmp(a,b)</tt>
|<tt> a == b</tt>
|-
|<tt>strcat(a,b)</tt>
|<tt> a += b</tt>
|-
|<tt>strlen(a)</tt>
|<tt> a.size()</tt>
|-
|<tt>strstr(a,b)</tt>
|<tt> a.find(b)</tt>
|}
<noinclude>
|