Curso de C. Comunicação e Arquivos. 24/05/2010 Arnaldo V Moura, Daniel F. Ferber 1

Documentos relacionados
Programação para Computação 13ª Aula

Comunicação. O Modelo de Fluxo de Dados (Streams)

Outline. 33. Manipulação de arquivos DIM

CURSO BÁSICO DE PROGRAMAÇÃO AULA 17. Manipulação de arquivos binários.

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos

LINGUAGEM C: ARQUIVOS

C Arquivos. Adriano Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Aula 16: Manipulação de Arquivos em C

Aula 26: Arquivos de texto

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

1/24 FICHEIROS DE TEXTO

Algoritmos e Estruturas de Dados II IEC013

Arquivos em C Parte 2

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Programação de Computadores II

Sumário. Ficheiros. Ficheiros

Linguagem C. Armazenamento de Dados em Arquivos - Continuação

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Arquivos em C. Material da Prof. Ana Eliza

Introdução a Programação. Manipulando Arquivos em Modo Texto

Linguagem C Ficheiros Compilação Separada

Operações em Arquivos. MC102 Felipe Bergo

Existe uma quantidade de informação que pode ser armazenada para resolver o problema.

9. Arquivos em C. Prof. Renato Tinós. Departamento de Computação e Matemática (FFCLRP/USP) Introdução à Computação II

Linguagem de Programação C. Arquivos Binários

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

Computação Eletrônica. Aula 12 Arquivos Texto e Binário. Prof: Luciano Barbosa. CIn.ufpe.br

Manipulação de Arquivos

Aula: ARQUIVOS. Introdução à Ciência da Computação I Simone Senger Souza. ICMC/USP São Carlos

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Manipulação de Arquivos Exercício/Exemplo:

E/S em Arquivo. Para ler ou escrever arquivos é preciso usar ponteiros de arquivo. Um ponteiro de arquivo é uma variável ponteiro do tipo FILE:

Leitura de Arquivos. Prof. Fabrício Olivetti de França

Métodos Computacionais. Arquivos

Acesso Aleatório em Arquivos

Arquivos. Programação de Computadores I. Natália Batista.

Manipulação de Arquivos

Aula 26 - Arquivos. Prof. Laura Silva de Assis. Engenharia da Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

Me todos Computacionais em Fı sica Lac os: for X while I/O Entrada e Saı da Escrevendo em Arquivos Lendo de Arquivos

13a. Aula Manipulação de arquivos

Linguagem de Programação C. Registros

Programação II. Arquivos - Conceito. Arquivos

Computação 2. Aula 8. Profª. Fabiany Arquivos

Me todos Computacionais em Fı sica

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Arquivos em C

Laboratório de Introdução à Ciência da Computação I

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Manipulação de arquivos

Fundamentos de Programação 1

Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

O que é a modularização

Manipulação de Ficheiros

Manipulação de Arquivos

Linguagem C: Arquivo-Texto

LINGUAGEM C: ARQUIVOS

Aula de Arquivos. Jesimar da Silva Arantes. Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos, SP

Ficheiros. IPC2 1999/2000 F. Nunes Ferreira

Computação Eletronica: Arquivos (Introdução)

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

Faculdade de Computação

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

Arquivos. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Programação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO

Manipulação de Arquivos

3.1 - Funções para manipular dados de entrada e saída padrão

Alocação Dinâmica de Memória - Exercício

Python: Entrada e Saída. Claudio Esperança

Introdução à Computação II AULA 08 BCC Noturno - EMA896115B

Structs, Ponteiros e Arquivos. Prof. Maurício Dias

Algoritmos e Estruturas de Dados I Linguagem C

Entrad Entrada / Saíd a / Saída

LINGUAGEM C: ARRAYS DE CARACTERES: STRINGS

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 14 de junho de 2017

Comandos de Entrada e Saída

Alocação Dinâmica de Memória - Exercício Escreva um programa em C que manipule um vetor de inteiros não nulos alocado dinamicamente.

Linguagem de Programação C. Arquivos

Programação Estruturada Prof. Rodrigo Hausen Entrada e Saída Parte 2

SSC304 Introdução à Programação Para Engenharias. Arquivos. GE4 Bio

Programação II. Files Read & Write. Bruno Feijó Dept. de Informática, PUC-Rio

Aula 30: Revisão para Prova 03

Introdução à Programação

Ambiente de desenvolvimento

Rogério Rodrigues de Vargas

Computação 2. Aula 9. Diego Addan Arquivos

Aula 14 Oficina de Programação Tópicos Especiais em C: Arquivos. Profa. Elaine Faria UFU

Prof. A. G. Silva. 25 de abril de Prof. A. G. Silva INE5231 Computação Científica I 25 de abril de / 68

C/C++; biblioteca stdio

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

1 Escrita de Arquivos Binário

Arquivos em C. Notas de Aula. Prof. Francisco Rapchan

Linguagem C arquivos. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Mestrado em Engenharia Física Tecnológica

Arquivos. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

Sequência de informações binárias armazenadas num dispositivo de armazenamento permanente. Em geral os bits são agrupados em grupos de 8 (1 byte)

Arquivos de Texto UFOP 1/31

Transcrição:

Curso de C Comunicação e Arquivos 24/05/2010 18:40 @ Arnaldo V Moura, Daniel F. Ferber 1

Tipos Avançados de Dados Roteiro: Fluxos de Dados Arquivos Abrir/Fechar Ler/Escrever Outras operações Entrada/Saída Padrão 24/05/2010 18:40 2

Fluxo de Dados: definição É a comunicação entre o programa e outras entidades: Teclado Terminal/prompt DOS Arquivos Conexões de de rede, Bluetooth Impressoras Portas seriais, USB, infra-vermelho Outros programas 24/05/2010 18:40 3

Fluxo de Dados: vantagens Modelo de comunicação genérico e unificado: Qualquer dispositivo parece funcionar da mesma maneira. Programas mais simples. Independência de plataforma e sistema operacional. 24/05/2010 18:40 4

Fluxo de Dados: modelo Produtor: escreve no no fluxo 24/05/2010 18:40 5

Fluxo de Dados: modelo Produtor: escreve no no fluxo Consumidor: lê lê do do fluxo 24/05/2010 18:40 6

Fluxo de Dados: modelo Produtor: escreve no no fluxo Consumidor: lê lê do do fluxo Fluxo: fila de de entrega de de dados O fluxo preserva a ordem Produtor e consumidor operam em ritmos diferentes 24/05/2010 18:40 7

Fluxo de Dados: modelo Produtor: escreve no no fluxo Consumidor: lê lê do do fluxo Fluxo: fila de de entrega de de dados O fluxo preserva a ordem Produtor e consumidor operam em ritmos diferentes Escreve Lê Produtor Fluxo Consumidor 24/05/2010 18:40 8

Fluxo de Dados: exemplo No fluxo, o programa pode ser consumidor! Teclado (produtor) (produtor) Arquivo (produtor) (produtor) Programa (consumidor) (consumidor) 24/05/2010 18:40 9

Fluxo de Dados: exemplo No fluxo, o programa pode ser consumidor! Teclado (produtor) (produtor) Teclas pressionadas Programa (consumidor) (consumidor) Arquivo (produtor) (produtor) 24/05/2010 18:40 10

Fluxo de Dados: exemplo No fluxo, o programa pode ser consumidor! Teclado (produtor) (produtor) Teclas pressionadas Arquivo (produtor) (produtor) Dados Programa (consumidor) (consumidor) 24/05/2010 18:40 11

Fluxo de Dados: exemplo No fluxo, o programa pode ser produtor! Programa (produtor) (produtor) Arquivo (consumidor) (consumidor) Tela Tela DOS (consumidor) (consumidor) 24/05/2010 18:40 12

Fluxo de Dados: exemplo No fluxo, o programa pode ser produtor! Programa (produtor) (produtor) Dados Arquivo (consumidor) (consumidor) Tela Tela DOS (consumidor) (consumidor) 24/05/2010 18:40 13

Fluxo de Dados: exemplo No fluxo, o programa pode ser produtor! Programa (produtor) (produtor) Dados Arquivo (consumidor) (consumidor) Resultados Tela Tela DOS (consumidor) (consumidor) 24/05/2010 18:40 14

Fluxo de Dados: tipos Curso C - IC/UNICAMP Somente leitura Teclado (produtor) (produtor) Programa (consumidor) (consumidor) 24/05/2010 18:40 15

Fluxo de Dados: tipos Curso C - IC/UNICAMP Somente leitura Teclado (produtor) (produtor) Teclas pressionadas Programa (consumidor) (consumidor) 24/05/2010 18:40 16

Fluxo de Dados: tipos Curso C - IC/UNICAMP Somente leitura Teclado (produtor) (produtor) Somente escrita Impressora (consumidor) (consumidor) Teclas pressionadas Programa (consumidor) (consumidor) Programa (produtor) (produtor) 24/05/2010 18:40 17

Fluxo de Dados: tipos Curso C - IC/UNICAMP Somente leitura Teclado (produtor) (produtor) Somente escrita Impressora (consumidor) (consumidor) Teclas pressionadas Dados Programa (consumidor) (consumidor) Programa (produtor) (produtor) 24/05/2010 18:40 18

Fluxo de Dados: tipos Curso C - IC/UNICAMP Somente leitura Teclado (produtor) (produtor) Somente escrita Impressora (consumidor) (consumidor) Leitura e escrita Arquivo (produtor e consumidor) Teclas pressionadas Dados Programa (consumidor) (consumidor) Programa (produtor) (produtor) Programa (produtor e consumidor) 24/05/2010 18:40 19

Fluxo de Dados: tipos Curso C - IC/UNICAMP Somente leitura Teclado (produtor) (produtor) Somente escrita Impressora (consumidor) (consumidor) Leitura e escrita Arquivo (produtor e consumidor) Teclas pressionadas Dados Conteúdo Programa (consumidor) (consumidor) Programa (produtor) (produtor) Programa (produtor e consumidor) 24/05/2010 18:40 20

Fluxo de Dados: fluxos de leitura Posição de leitura: Seqüencial ou aleatório 24/05/2010 18:40 21

Fluxo de Dados: fluxos de leitura Posição de leitura: Seqüencial ou aleatório Comprimento: Limitado ou ilimitado Marcas BOF & EOF 24/05/2010 18:40 22

Fluxo de Dados: fluxos de leitura Posição de leitura: Seqüencial ou aleatório Comprimento: Limitado ou ilimitado Marcas BOF & EOF Recebimento de dados: Bloqueante ou não bloqueante 24/05/2010 18:40 23

Fluxo de Dados: fluxos de escrita Posição de escrita: Seqüencial ou aleatório 24/05/2010 18:40 24

Fluxo de Dados: fluxos de escrita Posição de escrita: Seqüencial ou aleatório Comprimento: Praticamente ilimitado 24/05/2010 18:40 25

Fluxo de Dados: fluxos de escrita Posição de escrita: Seqüencial ou aleatório Comprimento: Praticamente ilimitado Envio de dados: Bloqueante ou não bloqueante 24/05/2010 18:40 26

Fluxo de Dados: leitura e escrita Posição de leitura ou escrita: Sempre aleatório 24/05/2010 18:40 27

Fluxo de Dados: leitura e escrita Posição de leitura ou escrita: Sempre aleatório Comprimento: Praticamente ilimitado 24/05/2010 18:40 28

Fluxo de Dados: leitura e escrita Posição de leitura ou escrita: Sempre aleatório Comprimento: Praticamente ilimitado Envio de dados: Bloqueante ou não bloqueante 24/05/2010 18:40 29

Fluxo de Dados: peculiaridades Fluxo binário 24/05/2010 18:40 30

Fluxo de Dados: peculiaridades Fluxo binário Fluxo texto Reconhecimento de \n Traduções automáticas de símbolos Tratamento automático do símbolo EOF 24/05/2010 18:40 31

Fluxo de Dados: operações 1. Abrir (estabelecer) o fluxo Define operações permitidas Especifica tipo de fluxo (binário/texto) Tipo de acesso (seqüencial ou aleatório) 24/05/2010 18:40 32

Fluxo de Dados: operações 1. Abrir (estabelecer) o fluxo Define operações permitidas Especifica tipo de fluxo (binário/texto) Tipo de acesso (seqüencial ou aleatório) 2. Ler e/ou escrever dados 24/05/2010 18:40 33

Fluxo de Dados: operações 1. Abrir (estabelecer) o fluxo Define operações permitidas Especifica tipo de fluxo (binário/texto) Tipo de acesso (seqüencial ou aleatório) 2. Ler e/ou escrever dados 3. Fechar (terminar) o fluxo Libera recursos Permite uso do fluxo por outro programa 24/05/2010 18:40 34

Comunicação e Arquivos Acesso a arquivos 24/05/2010 18:40 35

Arquivos: tipos de dados Declaração: FILE * arquivo; Define um fluxo para leitura e escrita em arquivo. Cada variável declarada é um fluxo independente Não é relevante como funciona o tipo FILE * 24/05/2010 18:40 36

Arquivos: abrir e fechar Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); 24/05/2010 18:40 37

Arquivos: abrir e fechar Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); Unidade de disco e diretório Caminho Relativo Nome do arquivo 24/05/2010 18:40 38

Arquivos: abrir e fechar Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); Unidade de disco e diretório Caminho Relativo Nome do arquivo r w a r+ w+ a+ b : binário t : texto 24/05/2010 18:40 39

Arquivos: abrir e fechar Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); Unidade de disco e diretório Caminho Relativo Nome do arquivo r w a r+ w+ a+ fclose(arquivo); b : binário t : texto 24/05/2010 18:40 40

Arquivos: abrir e fechar Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen( alunos.txt, r );... // Lê o nome de todos os alunos... fclose(arquivo); 24/05/2010 18:40 41

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fscanf(arquivo, fomato, &variavel); 24/05/2010 18:40 42

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fscanf(arquivo, fomato, &variavel); Semelhante a scanf 24/05/2010 18:40 43

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fscanf(arquivo, fomato, &variavel); Semelhante a scanf %d, %f, %c, %s, etc 24/05/2010 18:40 44

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fscanf(arquivo, fomato, &variavel); Semelhante a scanf %d, %f, %c, %s, etc Lista de variáveis 24/05/2010 18:40 45

Arquivos: leitura Curso C - IC/UNICAMP Leitura: Arquivo: José 9.5 8.5 Ana 7.0 8.0 Paulo 3.5 5.5 24/05/2010 18:40 46

Arquivos: leitura Curso C - IC/UNICAMP Leitura: FILE *arquivo; char nome[30]; float nota1, nota2; Arquivo: José 9.5 8.5 Ana 7.0 8.0 Paulo 3.5 5.5 arquivo = fopen( alunos.txt, r );... // // Lê Lê o nome e nota do do primeiro aluno fscanf(arquivo, %s %f %f %f, nome, &nota1, &nota2);... fclose(arquivo); 24/05/2010 18:40 47

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; char c, linha[102]; arquivo = fopen(nome, modo); Ler um caractere: Ler uma linha: 24/05/2010 18:40 48

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; char c, linha[102]; arquivo = fopen(nome, modo); Ler um caractere: c = fgetc(arquivo); Ler uma linha: 24/05/2010 18:40 49

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; char c, linha[102]; arquivo = fopen(nome, modo); Ler um caractere: Ler uma linha: c = fgetc(arquivo); fgets(linha, 100, arquivo); 24/05/2010 18:40 50

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; char c, linha[102]; arquivo = fopen(nome, modo); Ler um caractere: Ler uma linha: c = fgetc(arquivo); fgets(linha, 100, arquivo); variável para armazenar conteúdo 24/05/2010 18:40 51

Arquivos: leitura Curso C - IC/UNICAMP FILE *arquivo; char c, linha[102]; arquivo = fopen(nome, modo); Ler um caractere: Ler uma linha: c = fgetc(arquivo); fgets(linha, 100, arquivo); variável para armazenar conteúdo Tamanho máximo 24/05/2010 18:40 52

Arquivos: leitura Curso C - IC/UNICAMP Arquivo: Prezado cliente, Gostaríamos de... 24/05/2010 18:40 53

Arquivos: leitura Curso C - IC/UNICAMP Arquivo: Prezado cliente, FILE *arquivo; Gostaríamos de... char linha1[102], linha2[102]; arquivo = fopen( mensagem.txt, r );... fgets(linha1, 100, arquivo); fgets(linha2, 100, arquivo);... fclose(arquivo); 24/05/2010 18:40 54

Arquivos: leitura Curso C - IC/UNICAMP Arquivo: Prezado cliente, FILE *arquivo; Gostaríamos de... char linha1[102], linha2[102]; arquivo = fopen( mensagem.txt, r );... fgets(linha1, 100, arquivo); fgets(linha2, 100, arquivo);... fclose(arquivo); linha1 Prezado cliente, linha2 Gostaríamos de... 24/05/2010 18:40 55

Arquivos: fim de arquivo FILE *arquivo; arquivo = fopen( mensagem.txt, r );... while (! feof(arquivo)) {... Operação de leitura... }... fclose(arquivo); 24/05/2010 18:40 56

Arquivos: fim de arquivo FILE *arquivo; char nome[30]; float nota1, nota2; arquivo = fopen( notas.txt, r );... while (! feof(arquivo)) { q = fscanf(arquivo, %s %f %f,nome,&nota1,&nota2); if (q == 0) break;... }... fclose(arquivo); 24/05/2010 18:40 57

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fprintf(arquivo, texto, &variavel); 24/05/2010 18:40 58

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fprintf(arquivo, texto, &variavel); Semelhante a printf 24/05/2010 18:40 59

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fprintf(arquivo, texto, &variavel); Semelhante a printf %d, %f, %c, %s, etc 24/05/2010 18:40 60

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); fprintf(arquivo, texto, &variavel); Semelhante a printf Lista de variáveis %d, %f, %c, %s, etc 24/05/2010 18:40 61

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; char nome[30]; float nota1, nota2; arquivo = fopen( alunos.txt, w );... // // Escreve nome e nota do do primeiro aluno fprintf(arquivo, %s %f %f %f,nome,nota1, nota2);... fclose(arquivo); 24/05/2010 18:40 62

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); char c, texto[100]; Escrever um caractere: Escrever um texto: Garantir escrita no disco: 24/05/2010 18:40 63

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); char c, texto[100]; Escrever um caractere: fputc(c, arquivo); Escrever um texto: Garantir escrita no disco: 24/05/2010 18:40 64

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); char c, texto[100]; Escrever um caractere: fputc(c, arquivo); Escrever um texto: fputs(linha, arquivo); Garantir escrita no disco: 24/05/2010 18:40 65

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen(nome, modo); char c, texto[100]; Escrever um caractere: fputc(c, arquivo); Escrever um texto: fputs(linha, arquivo); Garantir escrita no disco: fflush(arquivo); 24/05/2010 18:40 66

Arquivos: escrita Curso C - IC/UNICAMP FILE *arquivo; arquivo = fopen( mensagem.txt, w );... fprintf(arquivo, Resultado da da operacao:\n ); // ou: fputs( Resultado da da operacao:\n, arquivo);... fclose(arquivo); 24/05/2010 18:40 Arquivos 67

Arquivos: deslocamentos FILE *arquivo; arquivo = fopen(nome, modo); obrigatório: w+ ou r+ Voltar ao inicio do arquivo: Consultar a posição atual: Avançar/Retroceder: 24/05/2010 18:40 68

Arquivos: deslocamentos FILE *arquivo; arquivo = fopen(nome, modo); obrigatório: w+ ou r+ Voltar ao inicio do arquivo: rewind(arquivo); Consultar a posição atual: Avançar/Retroceder: 24/05/2010 18:40 69

Arquivos: deslocamentos FILE *arquivo; arquivo = fopen(nome, modo); obrigatório: w+ ou r+ Voltar ao inicio do arquivo: Consultar a posição atual: Avançar/Retroceder: rewind(arquivo); p = ftell(arquivo); 24/05/2010 18:40 70

Arquivos: deslocamentos FILE *arquivo; arquivo = fopen(nome, modo); obrigatório: w+ ou r+ Voltar ao inicio do arquivo: Consultar a posição atual: rewind(arquivo); p = ftell(arquivo); Avançar/Retroceder: fseek(arquivo, deslocamento, referência); 24/05/2010 18:40 71

Arquivos: deslocamentos FILE *arquivo; arquivo = fopen(nome, modo); obrigatório: w+ ou r+ Voltar ao inicio do arquivo: Consultar a posição atual: rewind(arquivo); p = ftell(arquivo); Avançar/Retroceder: fseek(arquivo, deslocamento, referência); positivo: avança negativo: retrocede 24/05/2010 18:40 72

Arquivos: deslocamentos FILE *arquivo; arquivo = fopen(nome, modo); obrigatório: w+ ou r+ Voltar ao inicio do arquivo: Consultar a posição atual: rewind(arquivo); p = ftell(arquivo); Avançar/Retroceder: fseek(arquivo, deslocamento, referência); positivo: avança negativo: retrocede SEEK_CUR, SEEK_END, SEEK_SET 24/05/2010 18:40 73

Comunicação e Arquivos Entrada/Saída Padrão 24/05/2010 18:40 74

Entrada/Saída Padrão Três arquivos abertos automaticamente: 24/05/2010 18:40 75

Entrada/Saída Padrão Três arquivos abertos automaticamente: stdin: entrada padrão (teclado) 24/05/2010 18:40 76

Entrada/Saída Padrão Três arquivos abertos automaticamente: stdin: entrada padrão (teclado) stdout: saída padrão (terminal/tela DOS) 24/05/2010 18:40 77

Entrada/Saída Padrão Três arquivos abertos automaticamente: stdin: entrada padrão (teclado) stdout: saída padrão (terminal/tela DOS) stderr: saída de erro (terminal/tela DOS) 24/05/2010 18:40 78

Entrada/Saída Padrão Três arquivos abertos automaticamente: stdin: entrada padrão (teclado) stdout: saída padrão (terminal/tela DOS) stderr: saída de erro (terminal/tela DOS) Equivalentes: printf( texto ); fprintf(stdout, texto ); 24/05/2010 18:40 79

Comunicação e Arquivos FormatArq 24/05/2010 18:40 80