juna1 0 Denunciar post Postado Dezembro 13, 2005 vou contar o q preciso fazer para ver se alguem consegue implementar... abro um txt do hd --> ok feito este txt é composto por linhas de diretórios entre aspas e em seguida um número (vou chama-lo de status) leio este diretório --> ok feito leio o status e verifico se é 0 ou 1 --> ok feito se 0 copio o arquivo mencionado no diretório lido do txt (que pode ser de uma imagem, planilha, etc) e copio este arquivo para a pasta X se nao para a pasta Y --> NAO FEITO. Só falta esta parte para eu terminar este programa (e o pior de tudo, é para o trampo...) help vai o código que ja fiz se alguem achar uma maneira ou uma implementação melhor eu agradeço.. #include <stdlib.h> #include <stdio.h> #include <string.h> #define MAX 100 #include <iostream> #include <conio.h> using namespace::std; int main(void){ char *p; char linha[MAX]; FILE *arq; if ((arq = fopen("T1.txt", "r"))) { if(! arq) { perror("Erro ao abrir arquivo"); getch(); return -1; } while (fgets(linha, MAX, arq)) { /* tira o \n da linha lida do arquivo se ele existir */ if ((p = strchr(linha, '\n'))) *p = '\0'; if (linha[strlen(linha) - 1] == '1'){ printf("faz o que tem que fazer se o numero for 1\n");// aqui q mora o problema }else if (linha[strlen(linha) - 1] == '0'){ printf("faz o que tem que fazer se o numero for 0\n"); } if ((p = strrchr(linha, '"'))) *++p = '\0'; printf("%s\n\n", linha); } fclose(arq); } getch(); return 0; } Agradeço a ajuda e atenção de todos valeu galera... Compartilhar este post Link para o post Compartilhar em outros sites
Homero C. de Almeida 0 Denunciar post Postado Dezembro 13, 2005 Se você quer suportar corretamente qualquer tipo de arquivo, você terá que abrir os arquivos no modo binário. Isso modifica duas coisas:1o - Substitua fopen("T1.txt", "r") por fopen("T1.txt", "rb");2o - Todas as chamadas a fgets() devem ser modificadas para fread() e para escrever no novo arquivo deve-se usar fwrite(); Compartilhar este post Link para o post Compartilhar em outros sites