Ir para conteúdo

Arquivado

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

juna1

copiar arquivos com c++

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.