43

Classe String

Embed Size (px)

DESCRIPTION

Aula sobre a classe string

Citation preview

  • Strings em C++

    Programao de Computadores II

    Classe string

    Andr Geraldo

    Instituto Federal Sul-Rio-Grandense

    Andr Geraldo Programao de Computadores II 1/2

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 2/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Denio

    Denio de string

    Genericamente podemos tratar uma string como uma

    sequncia de caracteres.

    Exemplos

    "Ola","Ola Mundo", "H20";

    Classe

    String denida como uma classe em C++ portanto possui

    mtodos e atributos.

    Andr Geraldo Classe String 3/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Denio

    Denio de string

    Genericamente podemos tratar uma string como uma

    sequncia de caracteres.

    Exemplos

    "Ola","Ola Mundo", "H20";

    Classe

    String denida como uma classe em C++ portanto possui

    mtodos e atributos.

    Andr Geraldo Classe String 3/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Denio

    Denio de string

    Genericamente podemos tratar uma string como uma

    sequncia de caracteres.

    Exemplos

    "Ola","Ola Mundo", "H20";

    Classe

    String denida como uma classe em C++ portanto possui

    mtodos e atributos.

    Andr Geraldo Classe String 3/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Strings em C++

    Concatenao.

    Cdigo em C++

    1 s t r i n g a , b , c ;

    2 a = " O l a " ;

    3 b = " M u n d o " ;

    4 c = a + b ;

    Cdigo em C

    1 cha r a [ 4 0 ] , b [ 4 0 ] , c

    [ 4 0 ] ;

    2 s t r c p y ( a , " O l a " ) ;

    3 s t r c p y (b , " M u n d o " ) ;

    4 s t r c p y ( c , a ) ;

    5 s t r c a t ( c , b ) ;

    Comparao

    Cdigo em C++

    1 i f ( a

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Strings em C++

    Concatenao.

    Cdigo em C++

    1 s t r i n g a , b , c ;

    2 a = " O l a " ;

    3 b = " M u n d o " ;

    4 c = a + b ;

    Cdigo em C

    1 cha r a [ 4 0 ] , b [ 4 0 ] , c

    [ 4 0 ] ;

    2 s t r c p y ( a , " O l a " ) ;

    3 s t r c p y (b , " M u n d o " ) ;

    4 s t r c p y ( c , a ) ;

    5 s t r c a t ( c , b ) ;

    Comparao

    Cdigo em C++

    1 i f ( a

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Strings em C

    Strings em C so vetores de caracteres terminados por caracter

    nulo, ou ponteiros para caracter.

    Um vetor como char str[] = "Ola";

    Um ponteiro para char *p = "Ola"

    Os vetores de caracteres possuem um caracter nulo ao nal,

    assim str[0]="O"str[1]="l"str[2]="a"str[3]="0"

    Quando se faz alocao por ponteiro necessrio alocar

    sempre 1 posio a mais para o 0

    Andr Geraldo Classe String 5/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 6/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Strings em C++

    C++ tem a biblioteca

    Para seu uso basta adicionar ao programa #include

    Nesta biblioteca, esta a denio e inplementao da classe

    string

    Strings mais fceis e intuitivas que vetores de char.

    Andr Geraldo Classe String 7/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 8/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Declarao de string

    As declaraes de string a seguir so equivalentes. Para

    declarar string podemos:

    1 s t r i n g x ( " O l a M u n d o " ) ;

    2 s t r i n g x= " O l a M u n d o " ;

    3 s t r i n g x ; x=" O l a M u n d o " ;

    Andr Geraldo Classe String 9/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 10/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Concatenao de string

    tendo 2 strings x e y e escrevendo x+y

    1 s t r i n g x= " O l a " ;

    2 s t r i n g y= " M u n d o " ;

    3 s t r i n g z ;

    4 z=x+y ;

    5 z=

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Concatenao de string

    tendo 2 strings x e y e escrevendo x+y

    1 s t r i n g x= " O l a " ;

    2 s t r i n g y= " M u n d o " ;

    3 s t r i n g z ;

    4 z=x+y ;

    5 z=

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Concatenao de tipos diferentes de string

    Em s = u + v + w onde s um objeto do tipo String

    u pode ser:

    Um objeto do tipo String

    Um vetor de caracteres, ou um ponteiro para caracteres.

    Um caracter char.

    Um texto entre aspas duplas.

    Um caracter entre aspas simples.

    O mesmo vale para v e w.

    Tambm pode-se utilizar o operador de

    concatenao-atribuio. Assim:

    x+ = y ; (1)

    equivalente:

    x = x + y ; (2)

    Andr Geraldo Classe String 12/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Comparao de string

    Os operadores de comparao de string so os mesmos

    matemticos ==,=!, =.

    As denies de maior e menor consideram a ordem alfabtica,

    diferenciando maiusculas de minusculas.

    O retorno true ou false.

    Um dos itens tem que ser string mas o outro pode ser

    qualquer um dos tipos de atribuio.

    Andr Geraldo Classe String 13/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Comparao de string

    Cdigo

    1 s t r i n g x= " h i g h " ;

    2 cha r y [ ]= " s c h o o l " ;

    3 cha r p = " g o o d " ;4 i f ( x

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Comparao de string

    Cdigo

    1 s t r i n g x= " h i g h " ;

    2 cha r y [ ]= " s c h o o l " ;

    3 cha r p = " g o o d " ;4 i f ( x

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Acessando posies e tamanho de string

    A forma de acessar uma dada posio de uma string identica a de um

    vetor para acessar a posio 3 da string x utiliza-se x [3]

    O tamanho de uma string pode ser obtido com os mtodos length() ou

    size()

    1 s t r i n g x=" a b c d " ;

    2 i n t l e n=x . l e n g t h ( ) ;

    3 keywordstyle//keywordstyleou

    4 i n t l e n=x . s i z e ( ) ;

    Para vericar se uma string esta vazia utiliza-se o mtodo empty();

    1 boo l x . empty ( ) ;

    Quando se deseja esvaziar uma string pode atribuir a ela uma string vazia

    ou utilizar o mtodo clear();

    1 x=" " ;

    2 x . c l e a r ( ) ;

    Andr Geraldo Classe String 15/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Obtendo uma substring de uma string

    Uma substring uma sequencia de caracteres contida em

    outra string.

    Exemplo na string "programacao", gram uma substring j

    gam no pois nenhuma janela mvel obtem esta sequncia.

    o mtodo para obteno de substring substr pode receber ou

    uma posio, ou uma posio e uma quantidade de caracteres,

    ambos do tipo inteiro.

    1 x=" p r o g r a m a c a o " ;

    2 s t r i n g y = x . s u b s t r ( 3 , 2 ) ;

    3 s t r i n g z = x . s u b s t r (3 ) ; keywordstyle//keywordstylexkeywordstyle [

    keywordstyleposkeywordstyle . . keywordstyleendkeywordstyle1]

    Andr Geraldo Classe String 16/38

    asusNotaDa posio 3, 2 posies adiante.

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Inserindo uma substring em string

    Para um objeto x da classe string e tendo um objeto y "String

    compatvel", podemos inserir em uma posio do objeto x

    utilizando o mtodo insert(int posio,strin objeto);

    1 x=" p r o g r a m a c a o " ;

    2 x . i n s e r t (3 , " - " ) ;

    Andr Geraldo Classe String 17/38

    asusNotaInsere alguma coisa na posio 3

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    substituindo uma substring em string

    Para um objeto x da classe string para substituir uma parte do

    mesmo utilize o mtodo replace(int pos, int comprimento,

    string outro), onde outro string compatvel.

    1 x=" c a s a " ;

    2 x . r e p l a c e (4 , 1 , " o " ) ;

    Andr Geraldo Classe String 18/38

    asusNotaNa posio 4, substitui 1 posio por "o".

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Deletando uma substring em string

    Para um objeto x da classe string para deletar uma parte do

    mesmo utilize o mtodo erase(int pos, int comprimento).

    1 x=" p r o g r a m a c a o " ;

    2 x . e r a s e (10 ,1 ) ; keywordstyle//keywordstyle keywordstyleRemovekeywordstyle

    keywordstyleokeywordstyle keywordstyled

    ccimokeywordstylekeywordstyle c a r a c t e r

    3 x . e r a s e (9 ) ; keywordstyle//keywordstyle keywordstyleRemovekeywordstyle

    keywordstyledokeywordstyle keywordstylenonokeywordstyle keywordstyleem

    keywordstyle keywordstyle d i a n t e keywordstyle .

    Andr Geraldo Classe String 19/38

    asusNotaA partir da 10, apaga uma posio.

    A partir da apaga tudo

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Localizando uma substring em string

    Para um objeto x da classe string para localizar uma substring

    dentro deste utilize os mtodos nd(string busca), nd(string

    busca,int pos), rnd(string busca) ou (string busca,int pos),

    onde busca string compatvel e pos identica a posio a

    parir de onde se busca.

    1 x=" d d x x a a d d g t d " ;

    2 i n t s t a r t L o c = x . f i n d ( gt ) ;

    Andr Geraldo Classe String 20/38

    asusNotaRetorna a posio que est o que se procura.

    asusNota// Segunda ocorrncia de a.

    int r=s.find("a",s.find("a")+1)

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Comparativo C e C++

    C C++

    strcpy =

    strcat +=

    strcmp ==, ! =, ,=

    strchr, strstr .nd()

    strlen .size() ou .length() mtodos

    Andr Geraldo Classe String 21/38

  • Strings em C++

    Funes de C utilizveis em C++

    estas funes constam da biblioteca cctype

    1 #i n c l u d e

    2

    3 i n t i s a l num ( i n t c ) ; // se o c a r a c t e r passado um nmero

    4 i n t i s a l p h a ( i n t c ) ; // se o c a r a c t e r passado uma l e t r a

    5 i n t i s d i g i t ( i n t c ) ; // se o c a r a c t e r passado um nmero

    6 i n t i s l o w e r ( i n t c ) ; // se o c a r a c t e r passado uma l e t r a

    m inscu l a

    7 i n t i s p u n c t ( i n t c ) ; // se o c a r a c t e r pontuao

    8 i n t i s s p a c e ( i n t c ) ; // se espao

    9 i n t i s u p p e r ( i n t c ) ; // se l e t r a ma i s cu l a

    10 i n t i s x d i g i t ( i n t c ) ; // se hexadec ima l

    11 i n t t o l owe r ( i n t c ) ; // pas sa de ma i s cu l a para m inuscu l a

    Andr Geraldo Programao de Computadores II 2/2

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 23/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Exercicio de string

    Insere: troca o texto armazenado na classe pelo texto inserido.

    ContaLetra: conta a quantidade de ocorrncia de uma dada letra em um texto

    armazenado na classe e recorta o valor como Inteiro.

    ContaVogais: conta a quantidade de vogais que a no texto retorna Inteiro

    ContaConsoantes: conta a quantidade de consoantes que a no texto retorna Inteiro

    ConverteParaMaiusculas: converte o texto dado como entrada para maiscula, se no

    for passado parmetro converte o texto da classe para maiscula.

    (OBS: Para converter uma letra para maiscula basta subtrair 32 do

    seu cdigo ASCII.) retorna uma string

    InverteString: Inverte o contedo de uma string, se no for passado parmetro

    inverte o texto armazenado na classe. retorna uma string.

    RetiraCaractere: Retira o caracter informado da string, caso seja passada uma string

    retira desta caso no seja retira da do texto armazenado na classe.

    Retorna a string sem o caracter informado.

    Localizar: localiza a primeira ocorrncia de uma string em outra, recebe a

    string que se quer buscar e busca na classe. Retorna a posio ou

    zero caso no encontre.

    Palavras: divide o texto armazenado na classe em palavras retornando a

    palavra da posio passada por exemplo contendo na Classe "Isto

    um exemplo"e chamando-se o mtodo Palavras(4) deve retornar

    exemplo.

    Andr Geraldo Classe String 24/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 25/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Denio da classe

    Com char

    1 #i n c l u d e

    2 #i n c l u d e

    3

    4 c l a s s t e x t o {

    5 cha r conteudo [ 2 5 5 ] ;

    Com string

    1 #i n c l u d e

    2 #i n c l u d e

    3 #i n c l u d e

    4 #i n c l u d e

    5 #i n c l u d e

    6 u s i n g namespace s t d ;

    7 c l a s s t e x t o {

    8 s t r i n g conteudo ;

    Andr Geraldo Classe String 26/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 27/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Insere

    Insere: troca o texto armazenado na classe pelo texto inserido.

    Com char

    7 v o i d i n s e r e ( cha r t e x t o [ ] ) {

    8 s t r c p y ( conteudo , t e x t o ) ;

    9 }

    Com string

    10 v o i d i n s e r e ( s t r i n g t e x t o ) {

    11 conteudo = t e x t o ;

    12 }

    Andr Geraldo Classe String 28/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    ContaLetra

    ContaLetra: conta a quantidade de ocorrncia de uma dada letra em um texto

    armazenado na classe e recorta o valor como Inteiro.

    Com char

    15 i n t c o n t a l e t r a ( cha r l e t r a ) {

    16 i n t ac = 0 ;

    17 f o r ( i n t i = 0 ; i < s t r l e n ( conteudo ) ; i++)

    18 i f ( conteudo [ i ] == l e t r a )

    19 ac++;

    20 r e t u r n ac ;

    21 }

    Com string

    18 i n t c o n t a l e t r a ( cha r l e t r a ) {

    19 i n t ac ;

    20 f o r ( i n t i = ac = 0 ; i < conteudo . s i z e ( ) ; i++)

    21 ( conteudo [ i ] == l e t r a ) ? ac++ : ac ;

    22 r e t u r n ac ;

    23 }

    Andr Geraldo Classe String 29/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    ContaVogais

    ContaVogais: conta a quantidade de vogais que a no texto

    retorna Inteiro

    Com char

    23 i n t c on t a v oga i s ( ) {

    24 i n t ac = 0 ;

    25 cha r v o g a i s [ 1 1 ] = " a e i o u A E I O U " ; keywordstyle//keywordstyle

    keywordstyle d e s c on s i d e r andokeywordstyle keywordstyle a c en to s

    26 f o r ( i n t i = 0 ; i < s t r l e n ( v o g a i s ) ; i++)

    27 ac += c o n t a l e t r a ( v o g a i s [ i ] ) ;

    28 r e t u r n ac ;

    29 }

    Com string

    25 i n t c on t a v oga i s ( ) {

    26 i n t ac = 0 ;

    27 s t r i n g v o g a i s = " a e i o u A E I O U " ; keywordstyle//keywordstyle

    keywordstyle d e s c on s i d e r andokeywordstyle keywordstyle a c en to s

    28 f o r ( i n t i = 0 ; i < vog a i s . s i z e ( ) ; i++)

    29 ac += c o n t a l e t r a ( v o g a i s [ i ] ) ;

    30 r e t u r n ac ;

    31 }

    Andr Geraldo Classe String 30/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    ContaConsoantes

    ContaConsoantes: conta a quantidade de consoantes que a no

    texto retorna Inteiro

    Com char

    31 i n t con ta con soan t e s ( ) {

    32 i n t ac = 0 ;

    33 cha r con soan t e s [ 4 3 ] = "

    b c d f g h j k l m n p q r s t v w x y z B C D F G H J K L M N P Q R S T V W X Y Z " ; keywordstyle//

    keywordstyle keywordstyle d e s c on s i d e r andokeywordstyle

    keywordstyle a c en to s

    34 f o r ( i n t i = 0 ; i < s t r l e n ( con soan t e s ) ; i++)

    35 ac += c o n t a l e t r a ( con soan t e s [ i ] ) ;

    36 r e t u r n ac ;

    37 }

    Com string

    33 i n t con ta con soan t e s ( ) {

    34 i n t ac = 0 ;

    35 s t r i n g con soan t e s = "

    b c d f g h j k l m n p q r s t v w x y z B C D F G H J K L M N P Q R S T V W X Y Z " ; keywordstyle//

    keywordstyle keywordstyle d e s c on s i d e r andokeywordstyle

    keywordstyle a c en to s

    36 f o r ( i n t i = 0 ; i < con soan t e s . s i z e ( ) ; i++)

    37 ac += c o n t a l e t r a ( con soan t e s [ i ] ) ;

    38 r e t u r n ac ;

    39 }

    Andr Geraldo Classe String 31/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    ConverteParaMaiusculas

    ConverteParaMaiusculas: converte o texto dado como entrada

    para maiscula, se no for passado parmetro converte o texto

    da classe para maiscula. OBS: Para converter uma letra para

    maiscula basta subtrair 32 do seu cdigo ASCII. Retorna uma

    string.

    Com char

    39 cha r conv e r t ePa r aMa i u s cu l a s ( cha r t e x t o [ ] ) {40 f o r ( i n t i = 0 ; i < s t r l e n ( t e x t o ) ; i++)

    41 i f ( t e x t o [ i ] >= a && te x t o [ i ]

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    InverteString

    InverteString: Inverte o contedo de uma string, se no for

    passado parmetro inverte o texto armazenado na classe.

    retorna uma string.

    Com char

    62 cha r i n v e r t e s t r i n g ( cha r t e x t o [ ] ) {63 cha r temp ;

    64 f o r ( i n t i = 0 ; i < ( s t r l e n ( t e x t o ) /2) ; i++){

    65 temp = t e x t o [ i ] ;

    66 t e x t o [ i ] = t e x t o [ s t r l e n ( t e x t o )1 i ] ;67 t e x t o [ s t r l e n ( t e x t o )1 i ] = temp ;68

    69 }

    70 r e t u r n t e x t o ;

    71 }

    72

    73 cha r i n v e r t e s t r i n g ( ) {74 r e t u r n i n v e r t e s t r i n g ( conteudo ) ;

    75 }

    Com string

    62 s t r i n g i n v e r t e s t r i n g ( s t r i n g t e x t o ) {

    63 f o r ( i n t i = 0 ; i < t e x t o . l e n g t h ( ) / 2 ; i++)

    64 swap ( t e x t o [ i ] , t e x t o [ t e x t o . l e n g t h ( ) 1 i ] ) ;65 r e t u r n t e x t o ;

    66 }

    67

    68 s t r i n g i n v e r t e s t r i n g ( ) {

    69 r e t u r n i n v e r t e s t r i n g ( conteudo ) ;

    70 }

    Andr Geraldo Classe String 33/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    RetiraCaractere

    RetiraCaractere: Retira o caracter informado da string, caso

    seja passada uma string retira desta caso no seja retira da do

    texto armazenado na classe. Retorna a string sem o caracter

    informado.

    Com char

    50 cha r r e t i r a C a r a c t e r e ( cha r c a r a c t e r , cha r t e x t o [ ] ) {51 f o r ( i n t i = 0 ; i < s t r l e n ( t e x t o ) ; i++)

    52 i f ( t e x t o [ i ] == c a r a c t e r )

    53 f o r ( i n t j = i ; j < s t r l e n ( t e x t o ) ; j++)

    54 t e x t o [ j ] = t e x t o [ j + 1 ] ;

    55 r e t u r n t e x t o ;

    56 }

    57

    58 cha r r e t i r a C a r a c t e r e ( cha r c a r a c t e r ) {59 r e t i r a C a r a c t e r e ( c a r a c t e r , conteudo ) ;

    60 }

    Com string

    51 s t r i n g r e t i r a C a r a c t e r e ( cha r c a r a c t e r , s t r i n g t e x t o ) {

    52 f o r ( i n t i = 0 ; i < t e x t o . s i z e ( ) ; i++)

    53 i f ( t e x t o [ i ] == c a r a c t e r )

    54 t e x t o . e r a s e ( i , 1) ;

    55 r e t u r n t e x t o ;

    56 }

    57

    58 s t r i n g r e t i r a C a r a c t e r e ( cha r c a r a c t e r ) {

    59 r e t u r n r e t i r a C a r a c t e r e ( c a r a c t e r , conteudo ) ;

    60 }

    Andr Geraldo Classe String 34/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Localizar

    Localizar: localiza a primeira ocorrncia de uma string em

    outra, recebe a string que se quer buscar e busca na classe.

    Retorna a posio ou zero caso no encontre.

    Com char

    77 i n t l o c a l i z a ( cha r busca [ ] ) {

    78 i f ( s t r s t r ( conteudo , busca ) !=NULL) keywordstyle//keywordstyle

    keywordstylenokeywordstyle keywordstyle p r e c i s a r i a keywordstyle

    keywordstyleokeywordstyle keywordstylekeywordstyleNULL

    79 r e t u r n s t r s t r ( conteudo , busca )conteudo ;80 r e t u r n 0 ;

    81 }

    Com string

    72 i n t l o c a l i z a ( cha r busca [ ] ) {

    73 r e t u r n conteudo . f i n d ( busca ) ;

    74 }

    Andr Geraldo Classe String 35/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Palavras

    Palavras: divide o texto armazenado na classe em palavras

    retornando a palavra da posio passada por exemplo

    contendo na Classe "Isto um exemplo"e chamando-se o

    mtodo Palavras(4) deve retornar exemplo.

    Com char

    83 cha r p a l a v r a ( i n t pos ) {84 cha r pch ;85 pch = s t r t o k ( conteudo , " " ) ;

    86 f o r ( i n t i = 1 ; i < pos ; i++)

    87 pch = s t r t o k (NULL , " " ) ;

    88 r e t u r n pch ;

    89 }

    Com string

    76 cha r p a l a v r a ( i n t pos ) {77 cha r pch , l i n h a [ 8 0 ] ;78 s t r c p y ( l i n h a , conteudo . c_st r ( ) ) ;

    79 pch = s t r t o k ( l i n h a , " " ) ;

    80 f o r ( i n t i = 1 ; i < pos ; i++)

    81 pch = s t r t o k (NULL , " " ) ;

    82 r e t u r n pch ;

    83 }

    Andr Geraldo Classe String 36/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Sumrio

    1

    Denies

    2

    Strings em C++

    Declarao de string

    Operaes com string

    3

    Classe texto - Exerccio

    Denio da classe

    Mtodos

    4

    Bibliograa

    Andr Geraldo Classe String 37/38

  • Outline Denies Strings em C++ Classe texto - Exerccio Bibliograa

    Bibliograa

    http://www.cplusplus.com/reference/string/string/

    http://www.boost.org/doc/libs/1_53_0/doc/html/string_

    algo.html

    Andr Geraldo Classe String 38/38

    DefiniesStrings em C++Declarao de stringOperaes com string

    Classe texto - ExerccioDefinio da classeMtodos

    BibliografiaStrings em C++Strings em C++