Ir ao conteúdo
  • Cadastre-se

Erro Cod. C


asdrubous

Posts recomendados

Galera, eu tô com algum erro nesse codigo ai abaixo, eu acredito que seja na abertura do arquivo se alguem puder me ajudar fico grato.

Eu uso o dev-C++ - por isso o conio.c;

Meu SO é XP sp1.

#include <stdio.h>

#include <stdlib.h>

#include <conio.c>//Include usado no DEV, borland é .h

#include <ctype.h>

int main(int argc, char *argv[])

{

//Variaveis do programa;

FILE *arqIn, *arqOut;

char *texto, opc;

int VouF;

//Teste de parametros corretos;

if (argc < 3){

printf("Quantidade de parametros incorreta, = %d\n",

argc);

printf("Uso correto %s <nome arquivo origem > <nome arquivo destino>\n",

argv[0]);

getch();

return 0 ;

}

//Se o parametro de origem for igual ao parametro de destino o programa finaliza;

if (strcmp(argv[1],argv[2])==0)

return 0;

/*printf("\tORIGEM");

gets(argv[1]);

printf("\n\tDESTINO");

gets(argv[2]);*/

//Abertura do arquivo de origem;

arqIn=fopen(argv[1],"rb");

if(arqIn == NULL){

printf("Arquivo %s não existe. O programa será finalizado.",argv[1]);

getch();

return 0;

}

//Verifica se o arquivo de destino já existe;

VouF = funcVouF(argv[2]);

printf("VouF = %d",VouF);

getch();

// Se o VouF receber 1 - o arquivo existe

if (VouF == 1){

clrscr();

printf("\t ARQUIVO já EXISTE.\n");

printf("\t (S)alvar arquivo.\n");

printf("\t (N)ao salvar.\n");

opc = (char)toupper(getch());

switch(opc){

case 'S'://Opção salvar em cima, sobrepor;

//Abertura do arquivo de destino, para escrita;

arqOut = fopen (argv[2],"wb");

if (arqOut == NULL){

printf("ERRO %s não pode ser aberto ou criado.",argv[2]);

getch();

return 0;

}

break;

case 'N'://Não salvar.

printf("\n______________________________________________________\

__________________________");

system("PAUSE");

return 0;

break;

default://Caso não se digite S ou N.

printf("\nOPCAO INVALIDA, O PROGRAMA IRA INALIZAR");

getch();

return 0;

break;

}

}

//Caso o arquivo destino não exista.

if (VouF == 0){

arqOut = fopen (argv[2],"wb");

if (arqOut == NULL){

printf("ERRO %s não pode ser aberto ou criado.",argv[2]);

getch();

return 0;

}

}

//Copiando os dados do arquivo origem para destino;

while(!feof(arqIn)){

fgets(texto,sizeof(texto)-1,arqIn);

fputs(texto,arqOut);

}

printf("\n\tArquivo copiado.\n");

fclose(arqIn);

fclose(arqOut);

system("PAUSE");

return 0;

}

//Função que retorna p valor verdadeiro ou falso.

// V = 1 e F = 0;

int funcVouF(char *nome){

FILE *arq;

int i;

arq=fopen(nome,"rb");

if(arq == NULL)

i=0;

else i=1;

fclose(arq);

return i;

}

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por tabgal@13 maio 2004, 16:35

Mas qual é o problema que dá? Fica difícil achar o erro assim.

o que ocorre é que quando o programa vai criar um arquivo que não existe pra salvar os dados ele da pau ... erro do win, tanto que ele compila beleza ...

Link para o comentário
Compartilhar em outros sites

  • 4 anos depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!