Pular para o conteúdo

dog - semelhante ao cat do Linux

Este programa chamado dog nada mais é que uma imitação floreada do famoso comando cat do Linux.

Infelizmente ele só apresenta a saída bem formatada do conteúdo de arquivos .txt, outros formatos tem seu conteúdo embolado, mas vale a pena conferir.

Obs.: Caso queira executar este programa a partir de qualquer diretório, faça uma cópia do executável em /usr/bin.

Sugiro que compilem com:

gcc dog.c -o dog

Abraço a todos.
Thiago thiagoamm
Hits: 5.625 Categoria: C/C++ Subcategoria: Manipulação de arquivos
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Este programa chamado dog nada mais é que uma imitação floreada do famoso comando cat do Linux.

Infelizmente ele só apresenta a saída bem formatada do conteúdo de arquivos .txt, outros formatos tem seu conteúdo embolado, mas vale a pena conferir.

Obs.: Caso queira executar este programa a partir de qualquer diretório, faça uma cópia do executável em /usr/bin.

Sugiro que compilem com:

gcc dog.c -o dog

Abraço a todos.
Download dog.c Enviar nova versão

Esconder código-fonte

/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;32mArquivo:
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m %s\n\n", path);      while(!feof(fp))   {     fgets(linha, 250, fp);     fprintf(stdout, "
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;33m%d\t
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m%s", ++i, linha);   }   fprintf(stdout, "%s", "\n\n");   fclose(fp);   return(0); }
33[0;32mArquivo:
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;32mArquivo:
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m %s\n\n", path);      while(!feof(fp))   {     fgets(linha, 250, fp);     fprintf(stdout, "
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;33m%d\t
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m%s", ++i, linha);   }   fprintf(stdout, "%s", "\n\n");   fclose(fp);   return(0); }
33[0m %s\n\n", path);      while(!feof(fp))   {     fgets(linha, 250, fp);     fprintf(stdout, "
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;32mArquivo:
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m %s\n\n", path);      while(!feof(fp))   {     fgets(linha, 250, fp);     fprintf(stdout, "
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;33m%d\t
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m%s", ++i, linha);   }   fprintf(stdout, "%s", "\n\n");   fclose(fp);   return(0); }
33[0;33m%d\t
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;32mArquivo:
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m %s\n\n", path);      while(!feof(fp))   {     fgets(linha, 250, fp);     fprintf(stdout, "
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0;33m%d\t
/*
 * Programa: dog
 * Arquivo: dog.c
 * Desenvolvedor: Thiago Alexandre
 * Data: 05/11/2010
 *
 * DESCRICAO
 *
 *   Este e um programa de funcionamento semelhante ao comando cat
 *   do Linux.
 */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
  FILE *fp;
  char *path;
  char linha[250];
  char c;
  int register i = 0;
  
  system("clear");
    
  path = argv[1];
  
  if(!(fp = fopen(path, "r")))
  {
    fprintf(stdout, "Erro na abertura do arquivo.\n");
    exit(1);
  }
  
  printf("\n{FONTE}33[0;32mArquivo:{FONTE}33[0m %s\n\n", path);
  
  while(!feof(fp))
  {
    fgets(linha, 250, fp);
    fprintf(stdout, "{FONTE}33[0;33m%d\t{FONTE}33[0m%s", ++i, linha);
  }
  fprintf(stdout, "%s", "\n\n");
  fclose(fp);
  return(0);
}
33[0m%s", ++i, linha);   }   fprintf(stdout, "%s", "\n\n");   fclose(fp);   return(0); }
33[0m%s", ++i, linha);   }   fprintf(stdout, "%s", "\n\n");   fclose(fp);   return(0); }

Pilhas C/C++ - Pares e ímpares

Programinha que busca arquivos

Barra de progresso em forma de “roda”

Criando Playlist com o C#

Logger

#1 Comentário enviado por Feko em 22/11/2010 - 22:35h
Putz, nem testei o programa, mas... dog?? AHaUHAUHUHAHUAUH Show de bola!! =D
#2 Comentário enviado por SamL em 23/11/2010 - 14:02h
Feko eu tinha pensado a mesma coisa, kkkk foi uma boa escolha o nome.

Contribuir com comentário

Entre na sua conta para comentar.