Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Strings em C:como declarar variável, inicializar, imprimir, exemplo

O que é String em C?


Uma String em C nada mais é do que uma coleção de caracteres em uma sequência linear. 'C' sempre trata uma string como um único dado, mesmo que contenha espaços em branco. Um único caractere é definido usando a representação de aspas simples. Uma string é representada usando aspas duplas.
Example, "Welcome to the world of programming!"

'C' fornece a biblioteca padrão que contém muitas funções que podem ser usadas para realizar operações complicadas facilmente em Strings em C.

Neste tutorial, você aprenderá-
  • Como declarar e inicializar uma string em C
  • Entrada de string:ler uma string
  • Saída de string:imprimir/exibir uma string
  • função fputs()
  • função coloca
  • A biblioteca de strings
  • Convertendo uma string em um número

Como declarar e inicializar uma string em C


Um C String é um array simples com char como tipo de dados. A linguagem 'C' não suporta diretamente string como um tipo de dados. Portanto, para exibir uma String em C, você precisa usar um array de caracteres.

A sintaxe geral para declarar uma variável como uma String em C é a seguinte:
char string_variable_name [array_size];

A declaração clássica de strings pode ser feita da seguinte forma:
 char string_name[string_length] = "string";

O tamanho de um array deve ser definido ao declarar uma variável C String porque é usado para calcular quantos caracteres serão armazenados dentro da variável string em C. Alguns exemplos válidos de declaração de string são os seguintes:
char first_name[15];    //declaration of a string variable
char last_name[15];

O exemplo acima representa variáveis ​​de string com um tamanho de array de 15. Isso significa que o array de string C fornecido é capaz de conter no máximo 15 caracteres. A indexação do array começa em 0, portanto, ele armazenará caracteres de uma posição 0-14. O compilador C adiciona automaticamente um caractere NULL '\0' à matriz de caracteres criada.

Vamos estudar a inicialização de Strings em C. O exemplo a seguir demonstra a inicialização de Strings em C,
char first_name[15] = "ANTHONY";
char first_name[15] = {'A','N','T','H','O','N','Y','\0'}; // NULL character '\0' is required at end in this declaration
char string1 [6] = "hello";/* string size = 'h'+'e'+'l'+'l'+'o'+"NULL" = 6 */
char string2 [ ] = "world";  /* string size = 'w'+'o'+'r'+'l'+'d'+"NULL" = 6 */
char string3[6] = {'h', 'e', 'l', 'l', 'o', '\0'} ; /*Declaration as set of characters ,Size 6*/

Em string3, o caractere NULL deve ser adicionado explicitamente e os caracteres são colocados entre aspas simples.

'C' também nos permite inicializar uma variável string sem definir o tamanho do array de caracteres. Pode ser feito da seguinte forma,
char first_name[ ] = "NATHAN";

O nome de Strings em C age como um ponteiro porque é basicamente um array.

Entrada de string:ler uma string


Ao escrever programas interativos que solicitam a entrada do usuário, C fornece as funções scanf(), gets() e fgets() para encontrar uma linha de texto digitada pelo usuário.

Quando usamos scanf() para ler, usamos o especificador de formato “%s” sem usar o “&” para acessar o endereço da variável porque um nome de array atua como um ponteiro. Por exemplo:
#include <stdio.h>
int main() {
char name[10];
int age;
printf("Enter your first name and age: \n");
scanf("%s %d", name, &age); 
printf("You entered: %s %d",name,age);
}

Resultado:
Enter your first name and age:
John_Smith 48

O problema com a função scanf é que ela nunca lê Strings inteiras em C. Ela interromperá o processo de leitura assim que ocorrer um espaço em branco, alimentação de formulário, tabulação vertical, nova linha ou um retorno de carro. Suponha que demos entrada como “Tutoriais Guru99”, então a função scanf nunca lerá uma string inteira, pois um caractere de espaço em branco ocorre entre os dois nomes. A função scanf lerá apenas Guru99.

Para ler uma string que contém espaços, usamos a função gets(). Obtém ignora os espaços em branco. Ele para de ler quando uma nova linha é alcançada (a tecla Enter é pressionada). Por exemplo:
#include <stdio.h>
int main() {
char full_name[25];
printf("Enter your full name: ");
gets(full_name);
printf("My full name is %s ",full_name);
return 0;
}

Resultado:
Enter your full name: Dennis Ritchie
My full name is Dennis Ritchie

Outra alternativa mais segura para gets() é a função fgets() que lê um número especificado de caracteres. Por exemplo:
#include <stdio.h>
int main() {
char name[10];
printf("Enter your  name plz: ");
fgets(name, 10, stdin);
printf("My name is %s ",name);
return 0;}

Resultado:
Enter your name plz: Carlos
My name is Carlos

Os argumentos fgets() são:
  • o nome da string,
  • o número de caracteres a serem lidos,
  • stdin significa ler a partir da entrada padrão que é o teclado.

Saída de string:imprimir/exibir uma string


A função printf padrão é usada para imprimir ou exibir Strings em C em um dispositivo de saída. O especificador de formato usado é %s

Exemplo,
printf("%s", name);

A saída de string é feita com as funções fputs() e printf().

função fputs()


O fputs() precisa do nome da string e um ponteiro para onde você deseja exibir o texto. Usamos stdout que se refere à saída padrão para imprimir na tela. Por exemplo:
#include <stdio.h>
int main()
{char town[40];
  printf("Enter your town: ");
  gets(town);
  fputs(town, stdout);
  return 0;}

Resultado:
Enter your town: New York
New York

função coloca


A função puts é usada para imprimir string em C em um dispositivo de saída e mover o cursor de volta para a primeira posição. Uma função puts pode ser usada da seguinte maneira,
#include <stdio.h>
int main() {
char name[15];
gets(name);        //reads a string
puts(name);        //displays a string
return 0;}

A sintaxe desta função é comparativamente simples do que outras funções.

A biblioteca de strings


A biblioteca padrão 'C' fornece várias funções para manipular as strings dentro de um programa. Essas funções também são chamadas de manipuladores de strings. Todos esses manipuladores estão presentes dentro do arquivo de cabeçalho .
Função Propósito strlen() Esta função é usada para encontrar o comprimento de uma string. Ele retorna quantos caracteres estão presentes em uma string excluindo o caractere NULL.strcat(str1, str2) Esta função é usada para combinar duas strings para formar uma única string. Acrescenta ou concatena str2 ao final de str1 e retorna um ponteiro para str1.strcmp(str1, str2) Esta função é usada para comparar duas strings entre si. Retorna 0 se str1 for igual a str2, menor que 0 se str1 str2.
Vamos considerar o programa abaixo que demonstra as funções da biblioteca de strings:
#include <stdio.h>
#include <string.h>
int main () {
//string initialization
char string1[15]="Hello";
char string2[15]=" World!";
char string3[15];
int val;

//string comparison
val= strcmp(string1,string2);
if(val==0){
    printf("Strings are equal\n");
}
else{
    printf("Strings are not equal\n");
}

//string concatenation
printf("Concatenated string:%s",strcat(string1,string2)); //string1 contains hello world!

//string length
printf("\nLength of first string:%d",strlen(string1));
printf("\nLength of second string:%d",strlen(string2));

//string copy
printf("\nCopied string is:%s\n",strcpy(string3,string1));  //string1 is copied into string3
return 0;
}

Resultado:
Strings are not equal
Concatenated string:Hello World!
Length of first string:12
Length of second string:7
Copied string is:Hello World!

Outras funções importantes da biblioteca são:
  • strncmp(str1, str2, n):retorna 0 se os primeiros n caracteres de str1 forem iguais aos n primeiros caracteres de str2, menor que 0 se str1 str2.
  • strncpy(str1, str2, n) Esta função é usada para copiar uma string de outra string. Copia os primeiros n caracteres de str2 para str1
  • strchr(str1, c):retorna um ponteiro para a primeira ocorrência de char c em str1, ou NULL se o caractere não for encontrado.
  • strrchr(str1, c):pesquisa str1 ao contrário e retorna um ponteiro para a posição de char c em str1, ou NULL se o caractere não for encontrado.
  • strstr(str1, str2):retorna um ponteiro para a primeira ocorrência de str2 em str1, ou NULL se str2 não for encontrado.
  • strncat(str1, str2, n) Acrescenta (concatena) os primeiros n caracteres de str2 ao final de str1 e retorna um ponteiro para str1.
  • strlwr() :para converter string para minúscula
  • strupr() :para converter string para maiúscula
  • strrev() :para inverter string

Convertendo uma string em um número


Na programação C, podemos converter uma string de caracteres numéricos em um valor numérico para evitar um erro em tempo de execução. A biblioteca stdio.h contém as seguintes funções para converter uma string em um número:
  • int atoi(str) Significa ASCII para inteiro; ele converte str para o valor int equivalente. 0 é retornado se o primeiro caractere não for um número ou nenhum número for encontrado.
  • double atof(str) Significa ASCII para flutuar, converte str para o valor double equivalente. 0.0 é retornado se o primeiro caractere não for um número ou nenhum número for encontrado.
  • long int atol(str) Significa ASCII para long int, Converte str para o valor inteiro longo equivalente. 0 é retornado se o primeiro caractere não for um número ou nenhum número for encontrado.

O programa a seguir demonstra a função atoi():
#include <stdio.h>
int main()
{char *string_id[10];
  int ID;
  printf("Enter a number: ");
  gets(string_id);
  ID = atoi(string_id);
   printf("you enter %d  ",ID);
  return 0;}

Resultado:
Enter a number: 221348
you enter 221348
  • Uma declaração de ponteiro de string como char *string =“language” é uma constante e não pode ser modificada.

Resumo

  • Uma string é uma sequência de caracteres armazenada em uma matriz de caracteres.
  • Uma string é um texto entre aspas duplas.
  • Um caractere como 'd' não é uma string e é indicado por aspas simples.
  • ‘C’ fornece funções de biblioteca padrão para manipular strings em um programa. Os manipuladores de string são armazenados no arquivo de cabeçalho .
  • Uma string deve ser declarada ou inicializada antes de ser usada em um programa.
  • Existem diferentes funções de string de entrada e saída, cada uma delas tem suas características.
  • Não se esqueça de incluir a biblioteca de strings para trabalhar com suas funções
  • Podemos converter string em número através de atoi(), atof() e atol(), que são muito úteis para processos de codificação e decodificação.
  • Podemos manipular diferentes strings definindo um array de strings em C.

Linguagem C

  1. Strings Java
  2. Java enum Strings
  3. Como criar uma lista de strings em VHDL
  4. Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
  5. Strings C++:strcpy(), strcat(), strlen(), strcmp() EXEMPLOS
  6. Função realloc() na Biblioteca C:Como usar? Sintaxe e Exemplo
  7. Função free() na biblioteca C:Como usar? Aprenda com o Exemplo
  8. Método String Length () em Java:como encontrar com exemplo
  9. Strings Python:Substituir, Unir, Dividir, Reverter, Maiúsculas e Minúsculas
  10. Java - Classe de Strings