Funções de string populares em C [com exemplos]

Publicados: 2020-10-21

Strings na linguagem C são uma matriz de caracteres terminada com caracteres nulos ('\0'). O caractere nulo no final de uma string indica seu final e as strings são sempre colocadas entre aspas duplas. Na linguagem C, os caracteres são colocados entre aspas simples. Alguns exemplos de ambos mostrados abaixo;

Exemplo ou representação de caracteres e strings C

  • char string[10] = { 's','d','f','d','t','j','a','\0' };
  • char string[10]=" mais recente";
  • char string[]=" mais recente";

Há uma pequena diferença entre as declarações das strings em ambas as instruções acima. Como quando declaramos char como string[10], 10 bytes de espaço de memória são alocados para conter os 10 valores de string, enquanto quando declaramos como string[] então a memória é alocada no momento da execução do programa.

Índice

Declaração de String e Inicialização

Na programação C, as strings podem ser declaradas de duas maneiras, conforme mostrado acima. Na programação C, uma string é uma sequência de caracteres terminada com um caractere nulo ou '\0'. Um exemplo do mesmo é dado abaixo:

char temp[]=" temp string";

Quando uma string de caractere é declarada do tipo char que está entre aspas duplas, então \0 é anexado automaticamente no final da string. Por exemplo:

char temp[]=" temp string";

t e m p s t r eu n g \0

Declaração de String

Uma string na linguagem C é declarada da seguinte maneira:

char temp[5];

s[0] s[1] s[2] s[3] s[4]

Desta forma, podemos inicializar uma string de comprimento 5.

Inicialização de string

A inicialização de strings pode ser feita de várias maneiras e algumas delas são dadas abaixo:

char t[]=” string temporária”;

char t[10]=” string temporária”;

char t[]={'t','e','m', 'd','\0'};

char t[5]={'t','e','m', 'd','\0'};

T e m p \0

t[0] t[1] t[2] t[3] t[4]

No tipo de declaração acima, podemos armazenar apenas as strings que possuem apenas quatro caracteres, enquanto se você deseja armazenar cinco caracteres em tal string ou array, pode ser necessário o array de caracteres de maior comprimento.

Leia: String Array em Java: Java String Array com exemplos de codificação

Atribuindo valores a strings

Arrays e strings não suportam os operadores de atribuição. Uma vez que as strings são declaradas, você não pode atribuir os valores a variáveis ​​do tipo string. Por exemplo, na linguagem C não podemos escrever e atribuir os valores da seguinte maneira:

char t[100];

t=”valor temporário”;

Manipulação de Strings em C

Agora vamos listar algumas das funções de string populares em C que facilitam bastante o manuseio de strings. Várias operações na string como ler a string, copiar ou inverter a string e muitas outras operações podem ser facilmente executadas nas strings usando essas funções.

Operadores de string ou funções de string podem ser usados ​​diretamente para manipular as strings. Aqui, neste artigo, explicaremos as funções da biblioteca como gets(), puts(), strlen(), strcopy() e muitas outras para explicar o manuseio de strings em C.

Às vezes, os programadores precisam escrever as funções de string para manipulá-las de acordo com o problema necessário. No entanto, a manipulação de strings pode ser feita manualmente, mas isso pode tornar a programação bastante complexa e grande.

Existe uma biblioteca padrão de funções de string em C que é conhecida como “string.h”. Este arquivo de cabeçalho com extensão “.h” possui muitas funções de manipulação de strings que possuem sintaxe diferente. Vamos discutir alguns deles na seção abaixo deste artigo:

Lista de algumas funções comuns de manipulação de strings em C

Função Descrição
strlen() Pode calcular o comprimento da string
Strcpy() Pode copiar o conteúdo de uma string para outra
Strcat() É usado para concatenar ou juntar duas strings
Strcmp() Pode comparar duas strings
Strlwr() Pode converter a string para minúscula
Strupr() É usado para converter as letras da string em maiúsculas
Strrev() É usado para inverter a string

Quando você precisa usar qualquer uma das funções de manipulação de strings em seu programa, as funções não se limitam apenas a essas muitas. Existem muitas outras funções também. Então, vamos discuti-los:

1) puts() e gets()

As duas funções populares do arquivo de cabeçalho de string gets e puts são usadas para receber a entrada do usuário e exibir a string respectivamente. Ambas as funções são definidas no arquivo string.h. Vejamos um exemplo dessas funções:

#include principal()

Int main()

{

char temp[20];

printf("Digite seu nome");

obtém(temp);

printf(“Meu nome é:”);

coloca(temp);

retornar 0;

}

2) strcat()

Para os casos em que uma string deve ser anexada no final de outra string, esta função está sendo usada. A função strcat pode anexar uma cópia da string de origem no final da string de destino. O usuário deve passar dois argumentos descritos abaixo:

e) src

ii) destino

Aqui no lugar de “src” a string é especificada, enquanto no lugar de 'dest' a string de destino na qual temos que anexar a string de origem é especificada.

Exemplo

#include<string.h>

int main()

{

char src[20]= “antes”;

char dest[20]= “depois”;

strcat(destino, src);

coloca(destino);

retornar 0;

}

A saída será: depois antes

3) Função strlen()

Mais uma função do arquivo de cabeçalho de string que pode ser usada diretamente para as strings é strlen(). Você pode usar a função strlen(), a função string em C , quando precisar descobrir o comprimento de qualquer string. No entanto, também pode-se escrever um programa manualmente para descobrir o comprimento de qualquer string, mas o uso desta função direta pode economizar seu tempo e o exemplo é dado abaixo:

#include<stdio.h>

int main()

{

comprimento inteiro;

char s[20] = “Estamos aqui”;

comprimento=strlen(s);

printf("\Comprimento da string = %d \n", comprimento);

retornar 0;

}

O comprimento da string é = 11

4) Função strcpy()

Se você precisar copiar o conteúdo de uma string para outra string, essa função está sendo usada. A sintaxe da função é strcpy(dest,source). A função pode copiar o conteúdo de uma string para outra. Um exemplo da função é dado abaixo:

#include<string.h>

int main()

{

char src[20]= “Destino”;

char dest[20]= “”;

printf("\n string de origem = %s", src);

printf("\n string de destino = %s", dest);

strcpy(destino, src);

printf (“\ntarget string após strcpy() = %s”, dest);

retornar 0;

}

Saída

A string de origem é = Destino

A string de destino é =

String de destino após strcpy() = Destination

Aprenda: StringBuffer vs. StringBuilder: Diferença entre StringBuffer e StringBuilder

5) Função strcmp()

Para comparar duas strings para saber se são iguais ou não, podemos usar a função strcmp(). A função retorna um valor definido que pode ser 0, >0 ou <0. Nesta função, os dois valores passados ​​são tratados com distinção entre maiúsculas e minúsculas, significando que 'A' e 'a' são tratados como letras diferentes. Os valores retornados pela função são usados ​​como:

i) 0 é retornado quando duas strings são iguais

ii) Se str1<str2 então um valor negativo é retornado

iii) Se str1>str2 então um valor positivo é retornado

Exemplo:

#include<stdio.h>

#include<string.h>

int main()

{

char str1[]=”copiar”;

char str2[]=”Troféu”;

intI,j,k;

i=strcmp(str1, “copiar”);

j=strcmp(str1, str2);

k-strcmp(str1, “f”);

printf("\n %d %d %d",I,j,k);

retornar 0;

}

Saída: 0 -1 1

6) Funções strlwr() / strupr()

Às vezes você pode precisar converter as letras minúsculas de qualquer string para maiúsculas ou vice-versa. Para isso existem duas funções diretas de string em C , elas podem ser usadas para realizar as conversões de maiúsculas para minúsculas ou vice-versa. Aqui, explicamos um exemplo do mesmo:

#include<stdio.h>

#include<string.h>

int main()

{

char str[]=”CONVERTE-me para letras minúsculas”;

printf(“%s\n”, strlwr(str));

retornar 0;

}

Saída: converta-me para letras minúsculas

Da mesma forma, se usarmos a função strupr no lugar de strlwr, todo o conteúdo será convertido para letras maiúsculas. Podemos usar a função strupr, definida no arquivo de cabeçalho da string. Através desta função, todas as letras da string são convertidas, isso também sem qualquer procedimento manual longo.

7) Função strrev()

Se você quiser reverter qualquer string sem escrever nenhum programa enorme ou extenso manualmente, poderá usar esta função. A função strrev() é usada para reverter o conteúdo da string. A função Strrev é usada para verificar a natureza da string, se a string fornecida é um palíndromo ou não. Vários outros usos e aplicações também estão presentes na função string reverse. Um de seus usos é dado abaixo:

#include<stdio.h>

#include<string.h>

int main()

{

char temp[20]="Reverso";

printf(“A string antes da reversão é: %s\n”, temp);

printf(“String após strrev() :%s”, strrev(temp));

retornar 0;

}

Mais algumas funções de manipulação de strings com propósito:

Como dissemos anteriormente, existem mais funções de string em C. Algumas outras funções comumente usadas para manipulação de strings em C são:

Função Objetivo
strchr() Ele retorna um ponteiro para a primeira ocorrência de char em str1
strdup() Ele pode duplicar a string
strset() Define todos os caracteres de uma string para o caractere fornecido
strchr() Usado para localizar a ocorrência de um primeiro caractere apontador

Leia também: Classe Scanner em Java: Tipos de Construtores e Métodos, Como Usar

Palavras finais

Assim como qualquer outra linguagem C, também possui uma vasta biblioteca de funções prontas para uso ou embutidas. Para lidar com qualquer sequência de caracteres, você pode usar essas funções diretamente. No entanto, as funções não se limitam a estes. Existem muitas outras funções de string em C no arquivo de cabeçalho. O principal benefício deles é reduzir o tempo e a duração da codificação.

Se você estiver interessado em aprender mais sobre Java, OOPs e desenvolvimento de software full-stack, confira o PG Diploma in Full-stack Software Development da upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, 9 + projetos e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Prepare-se para uma carreira do futuro

APRENDIZAGEM CONFIÁVEL NA INDÚSTRIA - CERTIFICAÇÃO RECONHECIDA NA INDÚSTRIA.
Saber mais