2016-09-28 1 views
-1

Existe-t-il un moyen de fournir directement des chaînes à partir d'un document texte en tant qu'arguments? De préférence sans les sauver?C++ Alimentation des chaînes à partir d'un document texte en tant qu'arguments

J'ai une méthode killProcessByName qui attend un argument donc je me demandais s'il était possible de lire la première ligne de mon document texte, de le copier puis de l'envoyer en argument? Ensuite, passez à la ligne suivante, faites la même chose et répétez le processus jusqu'à ce qu'il n'y ait plus de mots dans le document.

Exemple de ma liste:

Apples.exe 
Blueberries.exe 
Watermelon.exe 
Oranges.exe 
... 

La méthode que je cible

void killProcessByName(const char *filename) 
{ 
    HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL); 
    PROCESSENTRY32 pEntry; 
    pEntry.dwSize = sizeof (pEntry); 
    BOOL hRes = Process32First(hSnapShot, &pEntry); 
    while (hRes) 
    { 
     if (strcasecmp(pEntry.szExeFile, filename) == 0) 
     { 
      HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0, 
              (DWORD) pEntry.th32ProcessID); 
      if (hProcess != NULL) 
      { 
       TerminateProcess(hProcess, 9); 
       CloseHandle(hProcess); 
      } 
     } 
     hRes = Process32Next(hSnapShot, &pEntry); 
    } 
    CloseHandle(hSnapShot); 
} 
+1

Comme 'while (read_string (string_var)) {function (string_var); } '? – NathanOliver

+0

Argument à quoi? Fonction libre ne prenant pas d'autres arguments? Appel de méthode ne prenant aucun autre argument? Fonction ou méthode appel prenant plusieurs autres arguments comme suit (donner des détails précis de quoi et quand)? Utilitaire de ligne de commande? Autre chose? – zwol

+0

Bienvenue dans Stack Overflow! Pouvez-vous s'il vous plaît poster vos essais et erreurs dans un [MCVE]? Nous ne pouvons pas aider beaucoup sans fournir d'autres informations ¯ \\ _ (ツ) _/¯ –

Répondre

0
#include <iostream> // std::cout, std::endl 
#include <fstream> // std::ifstream 
using namespace std; 
int main() 
{ 
    // open your file 
    ifstream input_file("test.txt"); 

    // create variables 
    string name; 

    // while there are entries 
    while(input_file >> name) 
    { 
     killProcessByName(name.c_str()); 
    } 

    // close the file 
    input_file.close(); 

    return 0; 
}