>> Tecnologia eletrônica >  >> Lar inteligente >> Vida Inteligente

Como ler uma string em C


Como ler uma string em C. A linguagem de programação C não fornece um tipo de dados string real. Em C, uma string é emulada por um array de caracteres que termina em NULL. Tal array pode ser declarado estaticamente ou como um ponteiro. O C padrão fornece muitas funções para manipular arrays de caracteres ou strings C. Este artigo se concentra nas funções que leem do fluxo de entrada e dos arquivos. Siga estas dicas para aprender a ler uma string em C.

Etapa 1


Entenda o básico. Uma string C é uma matriz do tipo gráfico. Como em todas as matrizes C, o primeiro elemento é indexado em 0 e o último em "comprimento da string menos 1". Normalmente, o compilador insere NULL no último local, para que a string possa conter elementos "comprimento da string menos 1". Null é equivalente a 0x00 na forma inteira e '\0' na forma char. Os elementos são acessados ​​pelo operador "[]". A etapa 2 ilustra esses conceitos.

Etapa 2


Adicione a "diretiva de inclusão" abaixo a qualquer arquivo de origem antes de usar as funções deste tutorial:

#include

Etapa 3


Declare uma string C. O código abaixo mostra uma declaração usando o método estático e de ponteiro:

// declaração estática char str[50] ={0}; // forma abreviada de inicializar todos os elementos com 0 // str[49] is NULL // str tem capacidade para 48 caracteres // declaração por ponteiro char pStr =NULL; // sem alocação de memória pStr =(char )malloc(50); // isso é feito por "malloc()"

Etapa 4


Leia os dados em uma string C usando "scanf()", que lê uma série de strings separadas por espaço da entrada padrão e as coloca nos endereços pertencentes às variáveis ​​de referência apropriadas, de acordo com uma "string de formato":

int n; printf("Digite seu nome e idade:"); scanf("%s%d", str, &n); // printf("Seu nome é %s e você é %d velho\n", str, n);

Etapa 5


Coloque dados em uma string C usando a função "gets()" mais simples, que lê dados da entrada padrão apenas em uma string:

printf("Digite seu sobrenome:"); obtém(str); printf("Seu nome é %s\n", str);

Etapa 6


Leia os dados do arquivo em uma string C usando "fscanf()"; esta função é análoga a "scanf()":

ARQUIVO* pArquivo; pArquivo =fopen("meuArquivo.txt", "r"); // assume que o arquivo existe e tem dados if (NULL !=pFile) { fscanf(pFile, "%s", str); printf("A primeira palavra do arquivo é %s\n", str); fclose(pArquivo); }

Etapa 7


Repita a Etapa 5 usando "fgets()", que funciona da mesma forma que "gets()":

ARQUIVO* pArquivo; pArquivo =fopen("meuArquivo.txt", "r"); if (NULL !=pArquivo) { fgets(pArquivo, str); printf("A primeira palavra do arquivo é %s\n", str); fclose(pArquivo); }

Dica


Para saber mais sobre as funções mencionadas, visite o site C Plus Plus.

Aviso


Não tente compilar este código. É apenas para demonstrar as funções. Não é um programa coerente e dará erros quando compilado.