strcmp compara duas strings e retorna se uma é maior que outra.
resultado=strcmp(string1,string2);
if(resultado==0) {
printf("Duas strings são exatamente iguais!\n");
else
if(resultado>0) {
printf("string1 é maior que string2!\n");
else
printf("string2 é maior que string1!\n");
strlen retorna o comprimento de uma string em nº de caracteres.
printf("Entre com seu nome: ");
scanf("%s",nome);
tamanho=strlen(nome);
printf("Seu nome tem %d caracteres", tamanho);
Existem inúmeras funções para manipulação de strings em C, das quais as mais usadas são: strcpy,strcmp,strlen,strcat.
strcpy:
Esta função serve para copiar uma string para outra em C. Os parâmetros desta função são a string fonte e a string destino, respectivamente. Exemplo:
char *string_retorno;
char string_fonte[] = "EXEMPLO DE MANIPULACAO DE STRINGS";
char *string_destino;
string_destino = (char *)malloc(80);
string_retorno = strcpy(string_destino,string_fonte);
printf("String Fonte = %s, String Retorno = %s",string_fonte,string_retorno);
Após a execução deste pequeno trecho de programa, a saída para a tela deverá ser:
String Fonte = EXEMPLO DE MANIPULACAO DE STRINGS, String Retorno = EXEMPLO DE MANIPULACAO DE STRINGS
Neste exemplo, a string 'string_retorno' será um ponteiro para a variável string_destino. Esta string de retorno da função strcpy serve somente para verificar se a cópia das strings foi feita com sucesso, exemplo:
if (strcpy(string_fonte,string_destino) == NULL)
{
printf("Erro ao copiar as strings\n");
}
strcmp:
Esta função serve para comparar duas strings. Esta função retornará 0 (zero), se as strings forem iguais, e diferente de zero se as strings forem diferentes.
Exemplo:
char string1[]="STRING";
char string2[]="STRING";
char string3[]="sTRING";
if (strcmp(string1,string2) == 0)
{
printf("As strings são iguais\n");
}
else
{
printf("As strings são diferentes\n");
}
if (strcmp(string1,string3) == 0)
{
printf("As strings são iguais\n");
}
else
{
printf("As strings são diferentes\n");
}
A saída deste pequeno trecho de programa deverá ser:
As strings são iguais
As strings são diferentes
strlen:
Esta função retorna o tamanho de uma string. O único parâmetro desta função é a string da qual você quer saber o tamanho. Neste exemplo, vamos resolver o problema que foi mostrado no início deste artigo:
void on_btn_Ok_pressed (GtkButton *button, gpointer user_data)
{
char *texto;
entry1 = GTK_ENTRY(lookup_widget((button),"entry1"));
text1 = GTK_TEXT(lookup_widget((button),"box_Nome"));
texto = (gtk_entry_get_text(entry1));
/* gtk_text_insert(text1,NULL,NULL,NULL,texto, ????????????); */
gtk_text_insert(text1,NULL,NULL,NULL,texto, strlen(texto));
gtk_entry_set_text(entry1,"");
}
strcat:
A função strcat faz é pegar a string fonte e concatenar no final da string destino. Exemplo:
char *string_retorno;
char string_final[] = "EXEMPLO DE MANIPULACAO ";
char string_inicial[] = "DE STRINGS";
string_retorno = strcat(string_final,string_inicial);
printf("String Final = %s, String Inicial = %s, String Retorno = %s",string_final,string_inicial,string_retorno);
Dessa forma a saída é: String Fonte1 = EXEMPLO DE MANIPULACAO, String Fonte2 = DE STRINGS, String Retorno = EXEMPLO DE MANIPULACAO
Nenhum comentário:
Postar um comentário