Ir ao conteúdo

Posts recomendados

Postado

system() só recebe um argumento, não funciona como as funções printf e scanf, para fazer o que você quer precisa criar a string separadamente e depois passar a string como argumento da função system.

 

Algo desse tipo:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
//xcopy no lugar de move para copiar
//qualquer nome que tenho espaços deve ficar entre aspas duplas

int main(int argc, char *argv[]){
    char a[256];
    if (argc > 1){
        sprintf(a, "MOVE \"%s\" C:\\Users\\eu\\Downloads", argv[1]);
        system(a);
    }
    else {
        printf("Erro: O nome do arquivo a ser movido nao foi informado.\n");
    }
    return 0;
}

 

  • Obrigado 1
Postado

Tente assim:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
//xcopy no lugar de move para copiar
//qualquer nome que tenho espaços deve ficar entre aspas duplas

int main(int argc, char *argv[]){
    char a[256], s[256] = {};
    if (argc > 1){
        for (int i=1; i < argc; i++){
            if (i > 1) strcat(s, " ");
            strcat(s, argv[i]);
        }
        sprintf(a, "MOVE \"%s\" C:\\Users\\eu\\Downloads", s);
        system(a);
    }
    else {
        printf("Erro: O nome do arquivo a ser movido nao foi informado.\n");
    }
    return 0;
}

Modifiquei para concatenar todos um argumentos passados para o programa.

 

E o programa deve ser executado com um comando desse tipo para funcionar:

programa.exe NomeDoArquivoASerMovido.ext

 

  • Curtir 1
  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...