Introdução à linguagem C - Parte IV

Nesta continuação da maravilhosa série sobre a linguagem C, apresentaremos o uso de arquivos textos e binários. Como declará-los? Como abrí-los? Como usá-los? São algumas das perguntas que teremos respondidas aqui!

[ Hits: 76.559 ]

Por: Ricardo Rodrigues Lucca em 14/07/2003 | Blog: http://aventurasdeumdevop.blogspot.com.br/


Exemplo 2



O exemplo abaixo é como fazer para capturar informações de algum arquivo qualquer.

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>

//Esta função retorna o ano baseado num calculo feito com os segundos que ela recebe!
int ano(long int segundos)
{
   int conta;
  
   segundos/=3600;
   for (conta=0;(segundos-=((conta % 4)==0)?(24*360):(24*365))>0;conta++);

   return 1970+conta;
}

//programa principal
int main(void)
{
   char nome[]="";
   struct stat buf;
  
   printf("Informe o arquivo a ser lido: ");
   scanf("%s",nome);
   stat(nome,&buf);
  
   system("clear");
   printf("Sobre o arquivo %s\n\n", nome);

   printf("Dispositivo : %lld\n", buf.st_dev);
   printf("Inode : %li\n", buf.st_ino);
   printf("Proteção : %o\n", buf.st_mode);
   printf("Número de links rígidos(hard links) : %u\n", buf.st_nlink);
   printf("ID do Dono : %u\n", buf.st_uid);
   printf("ID do Grupo do Dono : %u\n", buf.st_gid);
   printf("Tipo do Dispositivo : %lld\n", buf.st_rdev);
   printf("Tamanho total(bytes) : %li\n", buf.st_size);
   printf("Tamanho do Bloco : %li\n", buf.st_blksize);
   printf("Numero de Blocos alocados : %li\n", buf.st_blocks);
   printf("Último Acesso no ano de %d\n", ano(buf.st_atime));
   printf("Última Modificação no ano de %d\n", ano(buf.st_mtime));
   printf("Última Alteração no ano de %d\n", ano(buf.st_ctime));

   return 0;
}
Página anterior    

Páginas do artigo
   1. Começando
   2. Abrindo/Fechando arquivos
   3. E/S de arquivos
   4. Exemplo
   5. Funções adicionais
   6. Dados de arquivos
   7. Exemplo 2
Outros artigos deste autor

Linux no Rio Grande do Sul

Como posso recuperar o boot loader?

Introdução as Bibliotecas do C/C++

Ponteiros void na linguagem C

Criando um servidor de Ultima Online

Leitura recomendada

Mais sobre recursividade em C/C++

Liberando Memória ajustando o Tamanho das Strings em C

Utilizando a função QSort em C

Linguagem C - O primeiro programa

Introdução à linguagem C - Parte II

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts