A linguagem de programação C não fornece um tipo de dados seqüência real . Em C, uma string é emulada por um conjunto de caracteres que termina em NULL. Tal matriz pode ser declarada estaticamente ou como um apontador . Padrão C fornece muitas funções para manipular matrizes de caracteres ou strings C . Este artigo centra-se nas funções que ler o fluxo de entrada e de arquivos . Siga estas dicas para aprender a ler uma string em C. Coisas que você precisa
/+ IDE C + C ou compilador C
Livro em C , como " The C Programming Language ", de Brian W. Kernighan
Visualizar Mais instruções
1
entender o básico. Uma seqüência de C é uma matriz de tipo de gráfico . Tal como acontece com todas as matrizes C , o primeiro elemento é indexado a 0 , e o último em " comprimento de cadeia de menos de 1 . " Normalmente, o compilador insere NULL no último local , assim que a corda pode suportar " comprimento de corda menos 1 " elementos . Nulo é equivalente a 0x00 em forma de número inteiro e '\\ 0' em forma de carvão. Elementos são acessadas pelo operador "[]" . Passo 2 ilustra esses conceitos
2
Adicione a " diretiva de inclusão " abaixo para qualquer arquivo de origem antes de usar as funções deste tutorial: .
# Include
3
Declare uma string C . O código a seguir mostra uma declaração usando o estático eo método de ponteiro :
//static
declaração de char str [50] = {0} //forma abreviada para inicializar todos os elementos para 0
//str [49] é NULL
//str tem capacidade para 48 caracteres
//declaração de ponteiro
char * pStr = NULL; //não alocação de memória
pStr = ( char *) malloc (50 ) //isso é feito por " malloc () "
4
Ler dados em uma string C usando " scanf () ", que lê uma série de strings separados por espaço a partir da entrada padrão e os coloca em os endereços pertencentes às variáveis de referência apropriados , de acordo com uma " cadeia de formato " :
int n; printf ( "Digite seu primeiro nome e idade :");
scanf ( "% s % d" , str , & n ) //
printf ( "Seu nome é % s e você é % d de idade \\ n", str, n);
5
Colocar dados em uma string C usando o mais simples " gets () " função, que lê os dados da entrada padrão em uma string só :
printf ("Entre você Sobrenome :");
fica (str );
printf ( "Seu nome é % s \\ n " , str );
6
Ler dados de arquivo em uma string C usando " fscanf () " ; esta função é análoga à " scanf () " :
FILE * pFile ; < br > pFile = fopen ( " myFile.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 ( pFile ); }
7
Repita o Passo 5 usando " fgets ( ) ", que funciona da mesma forma " gets () " :
FILE * pFile ;
pFile = fopen ( " myFile.txt "," r "); if ( NULL = pFile !) {
fgets ( pFile , str );
printf (" a primeira palavra do arquivo é% s \\ n" , str );
fclose ( pFile ); }