if numa string

1. if numa string

Beatriz da Silveira
beatrizs

(usa Outra)

Enviado em 17/08/2012 - 11:05h

if (*sCmd == "soma")
{
printf("hello soma\n");
}
else
{
printf("hello subtração\n");
}


Não está funcionando alguém tem a solução?


  


2. Re: if numa string

André
andrezc

(usa Debian)

Enviado em 17/08/2012 - 11:20h

É porque não funciona dessa forma. Há uma função chamada strcmp(), do arquivo cabeçalho string.h. Essa função retorna 0 ou 1. 0 se as strings forem iguais e consequentemente 1 se forem diferentes. Dê uma olhada nessa referência:

http://www.cplusplus.com/reference/clibrary/cstring/strcmp/


3. Re: if numa string

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 17/08/2012 - 11:23h

Vc precisa utilizar a função strcmp da bibliote string.h
Dá uma olhada no google sobre isso que vc vai entender e achar exemplos.


4. Re: if numa string

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/08/2012 - 11:44h

A função strcmp compara caracter a caracter de acordo com a tabela ASCII e retorna um número igual à diferença entre esses caracteres, conforme a ordem das string dentro dos parênteses da função.

Compile este exemplo:

#include <stdio.h>
#include <string.h>

main(){

char *a = "abcd";
char *b = "abce";
char *c = "abcg";
char *d = "abcd";

printf ("a b: %d\n", strcmp(a,b));
printf ("b a: %d\n\n", strcmp(b,a));

printf ("a c: %d\n", strcmp(a,c));
printf ("c a: %d\n\n", strcmp(c,a));

printf ("b c: %d\n", strcmp(b,c));
printf ("c b: %d\n\n", strcmp(c,b));

printf ("a d: %d\n", strcmp(a,d));
printf ("d a: %d\n", strcmp(d,a));


}


A saída será esta:

a b: -1
b a: 1

a c: -3
c a: 3

b c: -2
c b: 2

a d: 0
d a: 0


*** ADD ***

Faça as mudanças e os testes que achar necessário nele para compreender o mecanismo.











Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts