galera to com um tremendo problema,
estou usando linguagem C para fazer um shell
mas a minha duvida mesmo é simples(eu acho)
estou usando o comando strcmp para comparar strings certo?
tipo
strcmp (ope,"limpa"))
sei que se as strings forem iguais ele devolve 0,
mas ele nao esta voltando 0 de forma alguma
volta 1 e -1 e ainda por cima se eu digitar "caixa" ele volta 1 se eu digitar "limpa" ele também volta 1
codigo a serguir
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10
int main()
{
char ope[MAX];
int exit=1;
do
{
fgets(ope,MAX,stdin);
printf("strcmp(ope,limpa)=%d\n",strcmp (ope,"limpa"));
printf("strcmp(ope,'sair')=%d\n",strcmp (ope,"sair"));
}while(exit!=0);
}
resultado execuçao
limpa
strcmp(ope,limpa)=1
strcmp(ope,'sair')=-1
caixa
strcmp(ope,limpa)=1
strcmp(ope,'sair')=-1
intaum nao sei oq eh
acho que pode ser o compilador mas nao tenho certeza