2016-06-03 7 views
-4

Je souhaite écrire un programme de sauvegarde simple. Ce n'est pas encore fini, mais j'ai rencontré un problème: Ma classe chargée de définir le bon chemin ne va pas exécuter le travailleur qui va copier le fichier. Je ne sais pas pourquoi et oui - j'ai déjà regardé sur n'importe quel site d'aide que je connais. Voici mon code filecopy h:La classe C++ n'exécutera pas la fonction

#ifndef __FILECOPY_H_INCLUDED__ 
#define __FILECOPY_H_INCLUDED__ 

#include<iostream> 
#include<fstream> 
#include<ctime> 

class filecopy 
{ 
    std::string dest_path; 
    std::string src_path; 
public: 
    filecopy(std::string, std::string); 
void filecopy_worker() 
{ 
     std::cout << "FILECOPY PROCESS STARTED" << std::endl; 
     std::ifstream source(src_path); 
     std::ofstream dest(dest_path); 
     dest << source.rdbuf(); 
     source.close(); 
     dest.close(); 
} 
}; 

filecopy::filecopy(std::string a, std::string b) 
{ 
    dest_path = a; 
    src_path = b; 
} 

#endif 

Et voici mon code main.cpp:

#include<iostream> 
#include<stdlib.h> 
#include"filecopy.h" 

int main(int argc, char *argv[]) 
{ 
    if(argc != 3) 
    { 
      std::cout << "USAGE: " << argv[0] << " <filesource>" << std::endl; 
      return 1; 
    } 
    else 
    { 
      filecopy target1(argv[2], argv[1]); 
      std::cout << "TARGET ASSIGNED" << std::endl; 
      std::cout << "EXECUTE FILEWORKER" << std::endl; 
    } 
    return 0; 
} 
+2

Pourquoi le souhaiteriez-vous? Je ne vous vois pas appeler un code qui copierait quoi que ce soit. – SergeyA

+0

J'ai essayé de l'appeler comme une fonction membre, mais cela n'a pas fonctionné. J'ai enlevé cela avant de copier et coller. Je ne comprends pas pourquoi vous êtes en colère - ce site n'est pas un club exclusif. Je suis autorisé à poser des questions de base. Et sérieusement - à un moment donné, vous étiez un débutant et a raté quelque chose comme ça. Sois poli. – vortexman100

Répondre

4

Il n'a pas exécuté la fonction parce que vous ne l'appelez. Il suffit d'ajouter cet appel de fonction

filecopy target1(argv[2], argv[1]); 
target1.filecopy_worker(); 
+2

La question a un problème spécifique, et j'ai donné une petite réponse spécifique. Quel est le problème avec ça? – CoryKramer

+0

Merci beaucoup! Tu as sauvé ma journée. Et oui. C'était une question stupide mais je suis un débutant et vous avez donné une bonne réponse. – vortexman100

+0

@CoryKramer: Encourager d'autres absurdités triviales, serait ma conjecture. Nous avons besoin d'une recherche préalable sur le SO. Rappelez-vous, bien que je sois d'accord que vous n'auriez pas dû répondre, je ne pense pas que nous devrions utiliser des downvotes pour punir cela. –