Buscar

struct_file_introducao

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Uma estrutura (struct) é uma coleção de campos que podem ser referenciados pelo mesmo nome. A estrutura permite que informações de tipos diferentes e relacionadas mantenham-se juntas.
Exemplo
struct pessoa { 
 char nome[30]; 
 char rua[50]; 
 int idade; 
} cliente; /* criação da struct pessoa e declaração da variável cliente do tipo struct pessoa*/
Linguagem C: Struct e FILE
IESB
APC 
Usando ponteiro do tipo struct
struct ponto {
 int x;
 int y;
} meu_ponto;
struct ponto *p = &meu_ponto; /*Declara p como um ponteiro do tipo struct ponto*/
(*p).x = 8; /*Acessa o primeiro membro da estrutura */
 p->x = 8; /*Outro modo de acessar o primeiro membro da estrutura*/
Linguagem C: Struct e FILE
IESB
APC 
Declaração da variável funcionario do tipo struct pessoa
 struct pessoa funcionario;
Outro exemplo:
 struct endereco
 {
 char rua [50];
 int numero;
 char bairro [21];
 char cidade [31];
 char sigla_estado [3];
 long int CEP;
 };
 
Linguagem C: Struct e FILE
IESB
APC 
#include <stdio.h>
#include <stdlib.h>
struct pessoa
{
 char *nome;
 int idade;
};
int main()
{
 // declara uma variável do tipo struct
 struct pessoa cliente;
 cliente.nome = "Osmar J. Silva";
 cliente.idade = 36;
 printf("O nome do cliente e: %s\n", cliente.nome);
 printf("A idade do cliente e: %d\n", cliente.idade);
 printf("\n\n");
 system("PAUSE");
 return 0;
}
Linguagem C: Struct e FILE
IESB
APC 
Dois tipos de arquivos (FILE):
Arquivo texto - O conteúdo é baseado é uma seqüência de caracteres que formam linhas determinadas por um caracter de nova linha ( “ \ n ”). 
Arquivos binários – O conteúdo baseado em uma estrutura ou
dado que respeita um determinado tipo de dado. Este tipo de dado pode ser um tipo simples (int, float, char) ou um tipo estruturado como registro (struct).
Visualização de um arquivo binário (exemplo)
Nome Telefone idade
Maria 45545 21
João 87878 30
Paula 78867 22
José 565675 20
... ... ...
Linguagem C: Struct e FILE
IESB
APC 
Declaração de FILE
FILE *fp;
é o nome da estrutura (tipo de dado)
O * define que a variável fp é uma variável do tipo ponteiro para FILE.
Abertura de um arquivo texto
main ( ) {
FILE *fp;
fp = fopen (“teste.txt”, “w”) //W é o modo como arquivo será aberto
}
OU
main ( ) {
FILE *fp;
if ((fp = fopen (“teste.txt”, “w”) = = null) {
printf (“o arquivo não pode ser aberto \ n”);
return 0;
}
}
Linguagem C: Struct e FILE
IESB
APC 
MODO / SIGNIFICADO
r - Abre um arquivo texto para leitura
w - Cria um arquivo texto para escrita ou sobrescreve caso o arquivo
exista
a - Anexa a um arquivo texto: abre para escrita no final do arquivo texto
ou cria um novo arquivo caso o mesmo não exista
rb - Abre um arquivo binário para leitura
wb - Cria um arquivo binário para escrita
ab - Abre um arquivo binário para escrita no final do arquivo ou cria um
novo caso o mesmo não exista
r+ - Abre um arquivo texto para leitura e escrita
w+ - Cria um arquivo texto p/ leitura e escrita ou sobrescreve caso o
arquivo já exista
a+ - Abre um arquivo e cria um novo para leitura e escrita no final do
arquivo
r + b - Abre um arquivo binário para leitura/escrita
w + b - Cria um arquivo binário para leitura/escrita
a + b - Abre um arquivo binário para leitura e escrita no final do mesmo
Linguagem C: Struct e FILE
IESB
APC 
Exemplo de criação, abertura e fechamento de arquivo
#include <stdio.h>
int main()
{
 FILE *fp; //Criação
 fp = fopen (“LEIAME", "w"); //Abertura
 if (fp == NULL) {
 printf ("Houve um erro ao abrir o arquivo.\n");
 return 1;
 }
 printf ("Arquivo LEIAME criado com sucesso.\n");
 fclose (fp); //Fechamento
 return 0;
}
Linguagem C: Struct e FILE
IESB
APC 
Lendo e escrevendo caracteres em arquivos
#include <stdio.h>
#include <stdlib.h>
int main()
{
 FILE *fp;
 char string[100];
 int i;
 fp = fopen("arquivo.txt","w"); /* Arquivo ASCII, para escrita */
 if(fp==0)
 {
 printf( "Erro na abertura do arquivo");
 exit(0);
 }
 printf("Entre com a string a ser gravada no arquivo:");
 gets(string);
 for(i=0; string[i]; i++) putc(string[i], fp); /* Grava a string, caractere a caractere */
 fclose(fp);
 return 0;
}
Linguagem C: Struct e FILE
IESB
APC 
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char c;
fp = fopen("arquivo.txt","r"); /* Arquivo ASCII, para leitura */
if(fp==0)
{
 printf( "Erro na abertura do arquivo");
 exit(0);
}
while((c = getc(fp) ) != EOF) /* Lê enquanto não chegar ao final do arquivo */
 printf("%c", c); /* Escreve o caracter lido */
fclose(fp);
return 0;
}
Linguagem C: Struct e FILE
IESB
APC 
#include <stdlib.h>
int main()
{
char s[80];
FILE *arq;
arq = fopen( “teste.txt”, “w” );
if( arq == NULL ){
 printf(“o arquivo não pode ser aberto” );
 exit(1);}
do {
 printf(“Entre com uma string (enter para sair): \n”);
 gets( s );
 strcat( s, “\n” ); //Coloca final de string para poder ser lido
 fputs( s, arq );}
while( *s != ‘\n’);
return( 0 );
}
Linguagem C: Struct e FILE
IESB
APC

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando