• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Ped@ntilva

[C++] Ajuda: Copiar mp3 (Resolvido)

11 mensagens neste tópico

Boas, eu estou a desenvolver uma aplicação e gostava de saber como devo fazer para copiar um ficheiro MP3.

Eu tenho o caminho completo do ficheiro guardado como string

agora falta-me saber como copiar para um destino à minha escolha.

Alguem me pode ajudar?

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se eu percebi bem a questão, deve dar para fazer com a função 'system'. se bem que é capaz de não ser a melhor maneira... :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para começar dava jeito saber qual o SO...

em Unix

char* dir_antigo;//variavel que contem o directorio onde se encontra o ficheiro
char* dir_novo;//variavel que contem o directorio para onde queremos copiar o ficheiro
char cmd[100];

...

sprintf(cmd,"cp %s %s",dir_antigo,dir_novo);
system(cmd);

acho que já devia funcionar...

em windows não deve ser muito diferente, mas nunca programei C em windows.

(o código que coloquei está em C, mas também funciona em C++, se bem que em C++ podiamos usar stream's em vez do 'sprintf', mas isso é algo que já podes ser tu a fazê-lo)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em windows é igual mas usa "copy" em vez de "cp" dentro do sprintf

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/copyfile.asp

BOOL CopyFile(

  LPCTSTR lpExistingFileName,

  LPCTSTR lpNewFileName,

  BOOL bFailIfExists

);

Exemplo:

#include <windows.h>

(...)

if (!CopyFile("C:\\ficheiro_de_origem.txt", "C:\\ficheiro_de_destino.txt", true))
	cout << "O ficheiro ja existe" << endl;
else
	cout << "ficheiro copiado" << endl;
(...)

P.S. Como já foi dito em muitos threads cá no fórum, utilizar o system() à descarada é mau. Só em último recurso!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/copyfile.asp

BOOL CopyFile(

  LPCTSTR lpExistingFileName,

  LPCTSTR lpNewFileName,

  BOOL bFailIfExists

);

Exemplo:

#include <windows.h>

(...)

if (!CopyFile("C:\\ficheiro_de_origem.txt", "C:\\ficheiro_de_destino.txt", true))
	cout << "O ficheiro ja existe" << endl;
else
	cout << "ficheiro copiado" << endl;
(...)

P.S. Como já foi dito em muitos threads cá no fórum, utilizar o system() à descarada é mau. Só em último recurso!

É mesmo isso.

Muito obrigado.

O system tambem me estava a funcionar o problema era com os espaços.

Não conceguia aceder as pastas porque o caminho continha espaços.

Obrigado mais uma x.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho mais uma duvida, como é que faço para criar um directorio sem ser pelo system?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O lpSecurityAttributes não me está a funcionar...

Como é que ponho a null?

EDIT: já descobri.

Thks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora