2016-09-28 6 views
-1

Есть ли способ кормить строки из текстового документа непосредственно в качестве аргументов? Желательно, не экономя их?C++ Подача строк из текстового документа в качестве аргументов

У меня есть метод killProcessByName, который ожидает аргумент, поэтому мне было интересно, можно ли прочитать первую строку из моего текстового документа, скопировать его, а затем отправить его как аргумент? Затем перейдите к следующей строке, заготовьте одно и то же и повторите процесс до тех пор, пока в документе не останется слов.

Пример моего списка:

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

Метод Я нацеливание

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

Как и 'в то время как (read_string (string_var)) {функция (string_var); } '? – NathanOliver

+0

Аргумент чему? Свободная функция не принимает других аргументов? Вызов метода не принимает других аргументов? Вызов функции или метода принимает несколько других аргументов следующим образом (дайте точные сведения о том, что и когда)? Утилита командной строки? Что-то другое? – zwol

+0

Добро пожаловать в переполнение стека! Можете ли вы отправить свои испытания и ошибки в [MCVE]? Мы не можем много помочь, не предоставляя дополнительной информации ¯ \\ _ (ツ) _/¯ –

ответ

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; 
}