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 de programação C

Strings de programação em C


Neste tutorial, você aprenderá sobre strings na programação C. Você aprenderá a declará-los, inicializá-los e usá-los para várias operações de E/S com a ajuda de exemplos.

Na programação C, uma string é uma sequência de caracteres terminada com um caractere nulo \0 . Por exemplo:

char c[] = "c string";

Quando o compilador encontra uma sequência de caracteres entre aspas duplas, ele anexa um caractere nulo \0 no final por padrão.

Como declarar uma string?


Veja como você pode declarar strings:
char s[5];

Aqui, declaramos uma string de 5 caracteres.

Como inicializar strings?


Você pode inicializar strings de várias maneiras.
char c[] = "abcd";

char c[50] = "abcd";

char c[] = {'a', 'b', 'c', 'd', '\0'};

char c[5] = {'a', 'b', 'c', 'd', '\0'};



Vamos a outro exemplo:
char c[5] = "abcde";

Aqui, estamos tentando atribuir 6 caracteres (o último caractere é '\0' ) para um char array com 5 caracteres. Isso é ruim e você nunca deve fazer isso.

Atribuindo valores a strings


Arrays e strings são cidadãos de segunda classe em C; eles não suportam o operador de atribuição depois que ele é declarado. Por exemplo,
char c[100];
c = "C programming";  // Error! array type is not assignable.

Observação: Use a função strcpy() para copiar a string.

Ler String do usuário


Você pode usar o scanf() função para ler uma string.

O scanf() função lê a sequência de caracteres até encontrar um espaço em branco (espaço, nova linha, tabulação, etc.).

Exemplo 1:scanf() para ler uma string

#include <stdio.h>
int main()
{
    char name[20];
    printf("Enter name: ");
    scanf("%s", name);
    printf("Your name is %s.", name);
    return 0;
}

Saída
Enter name: Dennis Ritchie
Your name is Dennis.

Apesar de Dennis Ritchie foi inserido no programa acima, apenas "Dennis" foi armazenado no nome corda. É porque havia um espaço depois de Dennis .

Observe também que usamos o código name em vez de &name com scanf() .
scanf("%s", name);

Isso ocorre porque nome é um char array, e sabemos que os nomes dos arrays decaem para ponteiros em C.

Assim, o nome em scanf() já aponta para o endereço do primeiro elemento da string, e é por isso que não precisamos usar & .

Como ler uma linha de texto?


Você pode usar o fgets() função para ler uma linha de string. E você pode usar puts() para exibir a sequência.

Exemplo 2:fgets() e puts()

#include <stdio.h>
int main()
{
    char name[30];
    printf("Enter name: ");
    fgets(name, sizeof(name), stdin);  // read string
    printf("Name: ");
    puts(name);    // display string
    return 0;
}

Saída
Enter name: Tom Hanks
Name: Tom Hanks

Aqui, usamos fgets() função para ler uma string do usuário.

fgets(name, sizeof(name), stdlin); // read string

O sizeof(name) resultados para 30. Portanto, podemos usar no máximo 30 caracteres como entrada, que é o tamanho do nome corda.

Para imprimir a string, usamos puts(name); .

Observação: O gets() A função também pode ser receber entrada do usuário. No entanto, ele é removido do padrão C.

É porque gets() permite que você insira qualquer comprimento de caracteres. Portanto, pode haver um estouro de buffer.

Passando strings para funções


Strings podem ser passadas para uma função de maneira semelhante a arrays. Saiba mais sobre como passar arrays para uma função.

Exemplo 3:Passando string para uma função

#include <stdio.h>
void displayString(char str[]);

int main()
{
    char str[50];
    printf("Enter string: ");
    fgets(str, sizeof(str), stdin);             
    displayString(str);     // Passing string to a function.    
    return 0;
}
void displayString(char str[])
{
    printf("String Output: ");
    puts(str);
}

Strings e ponteiros


Semelhante a arrays, nomes de strings são "decaídos" para ponteiros. Portanto, você pode usar ponteiros para manipular elementos da string. Recomendamos que você verifique C Arrays e Ponteiros antes de verificar este exemplo.

Exemplo 4:strings e ponteiros

#include <stdio.h>

int main(void) {
  char name[] = "Harry Potter";

  printf("%c", *name);     // Output: H
  printf("%c", *(name+1));   // Output: a
  printf("%c", *(name+7));   // Output: o

  char *namePtr;

  namePtr = name;
  printf("%c", *namePtr);     // Output: H
  printf("%c", *(namePtr+1));   // Output: a
  printf("%c", *(namePtr+7));   // Output: o
}

Funções de string comumente usadas

  • strlen() - calcula o comprimento de uma string
  • strcpy() - copia uma string para outra
  • strcmp() - compara duas strings
  • strcat() - concatena duas strings

Linguagem C

  1. Cadeia C#
  2. Namespaces na programação C#
  3. Passando array para uma função na programação C++
  4. Strings Java
  5. Java enum Strings
  6. Strings C++:strcpy(), strcat(), strlen(), strcmp() EXEMPLOS
  7. Strings em C:como declarar variável, inicializar, imprimir, exemplo
  8. Strings Python:Substituir, Unir, Dividir, Reverter, Maiúsculas e Minúsculas
  9. C Tutorial
  10. Java - Classe de Strings