Jump to content
RecrutaNegro

string compare

Recommended Posts

RecrutaNegro

Boas,

Estou a trabalhar num programa em que tenho de comparar strings, já tentei utilizar o strcmp mas está a dar-me erro...Será que me podiam ajudar?

(Ainda estou a aprender a trabalhar em c++, é o meu primeiro ano)

Share this post


Link to post
Share on other sites
Localhost

Mostra o código e o erro para se possível ajudar-te.


here since 2009

Share this post


Link to post
Share on other sites
Andrepereira9

Segundo este site: Programar em C++ / Manipular Strings

comparar frases

se fizessemos

char str1[80] = "Devvie Kent";
   char str2[80] = "Devvie Kent";
   if (str1 == str2)
      cout << "The two C-strings are equal";
   else
      cout << "The two C-strings are not equal";

o que acontecia é que estariamos a comparar os endereços e não os valores

temos a função strcmp (string+compare) (tem 2 arguentos. retornar 0 se forem iguais)

 

char str1[80] = "Devvie Kent";
   char str2[80] = "Devvie Kent";
   if (!strcmp(str1, str2))
     cout << "The two C-strings are equal";
   else
      cout << "The two C-strings are not equal";

esta comparação pode ser resultar em negativo e positivo e isso tem a ver com o jogo de caracteres na tabela ascII.


A informática chegou para resolver problemas que antes não existiam

Quem ri por último é porque está conectado a 52 Kbs.

Share this post


Link to post
Share on other sites
RecrutaNegro

void listac::insert_sort(cliente *data)

{ nodec *node, *aux;

    node = new nodec(data, NULL, NULL);

aux=first;

while(aux!=0 && strcmp(aux->cli()->nome(),data->nome())<0)

{aux=aux->next();}

if(aux!=0) insert_before(data,aux);

else insert_end(data);

}

esta funçao, o que faz é ordenar uma lista de clientes por ordem alfabetica.

onde nos argumentos do strcmp retornam ambos strings...

que ha de mal na implementaçao da funçao strcmp?

fiquem bem :)

Share this post


Link to post
Share on other sites
SirDave

O strcmp( é uma função da livraria "string.h", uma livraria de C. Também funciona em C++, mas podes usar o Compare Strings regular do C++, como indicou o André. Aliás, recomendo mesmo que uses a segunda hipótese.


Be nice to see your eyes, blink them from time to time to relax your retina when using the computer. Blink now!

Share this post


Link to post
Share on other sites
kurayama

Se usas C++, deves utilizar a std::string.

Aí basta uma comparacao normal: string1 == string2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.