biriba_di
(usa Outra)
Enviado em 17/11/2011 - 08:16h
Pessoal, bom dia!
Localizei esse codigo que é um compactador de .txt, ele pede o diretorio, e assim q vc coloca ele compacta todos .txt que tiverem na pasta.
Porém quando eu tento compilar ele no GCC ele ta dando o seguinte erro:
14 C:\Users\limadie\Documents\LpI\C++\compacta.cpp cannot convert `char**' to `const char*' for argument `1' to `int strcmp(const char*, const char*)'
33 C:\Users\limadie\Documents\LpI\C++\compacta.cpp cannot convert `char**' to `const char*' for argument `2' to `char* strcat(char*, const char*)'
43 C:\Users\limadie\Documents\LpI\C++\compacta.cpp invalid conversion from `char' to `char*'
43 C:\Users\limadie\Documents\LpI\C++\compacta.cpp initializing argument 1 of `char* strcat(char*, const char*)'
43 C:\Users\limadie\Documents\LpI\C++\compacta.cpp invalid conversion from `char' to `const char*'
43 C:\Users\limadie\Documents\LpI\C++\compacta.cpp initializing argument 2 of `char* strcat(char*, const char*)'
To quebrando a cabeça aqui, mas mexo em uma coisa, da erro em outra.. se conseguirem localizar o erro e me sinalizar!
Obrigado!!
Segue o codigo:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*
Este programa compacta todos arquivos txt existentes em um determinado diretorio
*/
int main(int *argc, char **argv[]){
FILE *fp;
char arquivo_temp[60], comando[80],arquivo_tar[60],arquivo[60];
if (strcmp(argv[1],"--h") == 0){
printf("##########################\n\n");
puts("Programa para compactar arquivos txt...");
printf("\n");
puts("Sintaxe: ");
printf("\n");
puts(" #./compacta <DIRETORIO>");
printf("\n\n");
puts("Exemplo:");
printf("\n");
puts("#./compacta /tmp");
printf("\n");
puts("**compacta todos arquivos txt existentes em /tmp");
printf("\n#########################\n");
exit(0);
}
int i;
char lista[80]="ls ";
strcat(lista,argv[1]);
strcat(lista,"/*.txt");
strcat(lista," > lista");
system(lista);
fp = fopen("lista","r");
while(!feof(fp)){
/*fgets(string,60,fp)*/
fscanf(fp,"%s",arquivo_temp);
for(i=0;i<strlen(arquivo_temp)-4;i++)
strcat(arquivo[i],arquivo[i]);
printf("\n\n%s\n\n",arquivo);
/*criando o pacote tar*/
/*comando = 'tar -cf' arquivo_tar arquivo */
strcpy(comando,"tar -cf ");
strcpy(arquivo_tar,arquivo);
strcat(arquivo_tar,".tar");
strcat(comando,arquivo_tar);
strcat(comando," ");
strcat(comando,arquivo);
system(comando);
strcpy(comando,"");
/*criando o pacote bz2*/
strcpy(comando,"bzip2 -z ");
strcat(comando,arquivo_tar);
system(comando);
}
system("rm *.txt -rf");
system("rm *.tar -rf");
fclose(fp);
}