Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Koc52
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 36
#1

Написать программу, читающую из текстового файла имена исполнимых программ - C++

09.06.2014, 19:39. Просмотров 512. Ответов 7
Метки нет (Все метки)

Подготовить несколько исполнимых файлов, выводящих на экран различные сообщения. Подготовить текстовый файл, в котором заданы пути к этим исполнимым файлам. Написать программу, читающую из текстового файла имена исполнимых программ и запускающую их в порядке, противоположном тому, в котором они указаны в файле. Имя текстового файла жестко задано в теле программы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2014, 19:39     Написать программу, читающую из текстового файла имена исполнимых программ
Посмотрите здесь:
C++ Написать программу, записывающую в файл и читающую из файла массив из структур
Написать программу перекодировки текстового файла в транслит и наоборот C++
Написать программу для удаления ленты в середине текстового файла C++
Нужно написать программу которая считывает данные из текстового файла C++
Поогите написать программу считывания произвольного количества строк из текстового файла C++
Написать программу, которая удаляет из текстового файла слова, начинающиеся и оканчивающиеся на гласные буквы C++
C++ Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
09.06.2014, 20:53     Написать программу, читающую из текстового файла имена исполнимых программ #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Koc52, учитывать, что каждый путь находится на новой строчке в файле.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <conio.h>
 
void openFile(char path[])
{
    SHELLEXECUTEINFO lpExecInfo;
    lpExecInfo.cbSize  = sizeof(SHELLEXECUTEINFO);
    lpExecInfo.lpFile = path;
    lpExecInfo.fMask = SEE_MASK_DOENVSUBST | SEE_MASK_NOCLOSEPROCESS;     
    lpExecInfo.hwnd = NULL;  
    lpExecInfo.lpVerb = "open";
    //lpExecInfo.lpParameters = filename
    lpExecInfo.lpDirectory = NULL;   
    lpExecInfo.nShow = SW_SHOW;
    lpExecInfo.hInstApp = (HINSTANCE)SE_ERR_DDEFAIL;
    ShellExecuteEx(&lpExecInfo);
    
    if(lpExecInfo.hProcess !=NULL)
    {
        ::WaitForSingleObject(lpExecInfo.hProcess, INFINITE);
        ::CloseHandle(lpExecInfo.hProcess);
    }
}
 
int main()
{
    std::ifstream file_with_paths("path.txt");
    std::string str;
    if(file_with_paths)
    {
        while(getline(file_with_paths, str))
        {
            unsigned found = str.find("\\");
            while(found != std::string::npos)
            {
                str.insert(found + 1, "\\");
                found = str.find("\\", found + 2);
            }
            char* path = new char[str.size() + 1];
            strcpy(path, str.c_str());
            std::cout << "Now running: " << path << std::endl;
            openFile(path);
            delete [] path;
        }
        file_with_paths.close();
    }
    else
        perror("Error");
    
    std::cout << "\nOperation succeeded\n";
    getch();  
    return 0;
}
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 21:12     Написать программу, читающую из текстового файла имена исполнимых программ #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <fstream>
#include <string>
#include <vector>
 
int main()
  {
  std::ifstream file("input", std::ios::binary);
  std::vector<std::string> programs_to_run;
  while (file.good())
    {
    std::string temp_string;
    std::getline(file, temp_string);
    programs_to_run.push_back(std::string("cmd /c start ") + temp_string);
    }
  for (auto filename_it = programs_to_run.rbegin(); filename_it != programs_to_run.rend(); ++filename_it)
    system(filename_it->c_str());
  return 0;
  }
Koc52
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 36
09.06.2014, 21:30  [ТС]     Написать программу, читающую из текстового файла имена исполнимых программ #4
GuGo1991, а как в командной строке запустить? какие имена файлов?
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
09.06.2014, 21:49     Написать программу, читающую из текстового файла имена исполнимых программ #5
Koc52, не понял вопроса.
Допустим, содержимое path.txt
Код
calc.exe
mspaint.exe
//C:\Users\User\Documents\какая-то программа.exe
Запустится сначала calc.exe, после выхода из calc.exe запустится mspaint.exe и т. д.
Koc52
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 36
09.06.2014, 21:57  [ТС]     Написать программу, читающую из текстового файла имена исполнимых программ #6
GuGo1991, интересует именно, что должно в файле path.txt находиться.

Добавлено через 4 минуты
GuGo1991,

Написать программу, читающую из текстового файла имена исполнимых программ

Вот что пишет при запуске
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
09.06.2014, 22:11     Написать программу, читающую из текстового файла имена исполнимых программ #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Koc52, создаёте текстовый файл в директории с программой (или же указывете полный путь к файлу).
В текстовый файл вписываете *.exe файлы которые надо запускать (полные пути к файлам C:\...\...\...).
Забыл что запуск в в противоположном порядке
Поправка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <vector>
#include <conio.h>
 
void openFile(char path[])
{
    SHELLEXECUTEINFO lpExecInfo;
    lpExecInfo.cbSize  = sizeof(SHELLEXECUTEINFO);
    lpExecInfo.lpFile = path;
    lpExecInfo.fMask = SEE_MASK_DOENVSUBST | SEE_MASK_NOCLOSEPROCESS;     
    lpExecInfo.hwnd = NULL;  
    lpExecInfo.lpVerb = "open";
    //lpExecInfo.lpParameters = filename
    lpExecInfo.lpDirectory = NULL;   
    lpExecInfo.nShow = SW_SHOW;
    lpExecInfo.hInstApp = (HINSTANCE)SE_ERR_DDEFAIL;
    ShellExecuteEx(&lpExecInfo);
    
    if(lpExecInfo.hProcess !=NULL)
    {
        ::WaitForSingleObject(lpExecInfo.hProcess, INFINITE);
        ::CloseHandle(lpExecInfo.hProcess);
    }
}
 
int main()
{
    std::ifstream file_with_paths("path.txt");
    std::string str;
    std::vector<std::string> arr;
    if(file_with_paths)
    {
        while(getline(file_with_paths, str))
        {
            unsigned found = str.find("\\");
            while(found != std::string::npos)
            {
                str.insert(found + 1, "\\");
                found = str.find("\\", found + 2);
            }
            arr.push_back(str);
        }
        file_with_paths.close();
    }
    else
        perror("Error");
    
    for(std::vector<std::string>::reverse_iterator rit = arr.rbegin(); rit != arr.rend(); ++rit)
    {
        str = *rit;
        char* path = new char[str.size() + 1];
        strcpy(path, str.c_str());
        std::cout << "Now running: " << path << std::endl;
        openFile(path);
        delete [] path;
    }
    
    std::cout << "\nOperation succeeded\n";
    getch();  
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2014, 22:28     Написать программу, читающую из текстового файла имена исполнимых программ
Еще ссылки по теме:
C++ Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
C++ Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке.
C++ Написать программу в которой описать функцию, которая находит кол-во символов в n-ой строке непустого текстового файла.
C++ Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’
C++ Написать программу, которая будет запоминать имена и номера телефонов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Koc52
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 36
09.06.2014, 22:28  [ТС]     Написать программу, читающую из текстового файла имена исполнимых программ #8
GuGo1991, огромное вам спасибо! Выручили!
Yandex
Объявления
09.06.2014, 22:28     Написать программу, читающую из текстового файла имена исполнимых программ
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru