Как буквально открыть файл с помощью кода на C ++ - PullRequest
1 голос
/ 02 апреля 2012

Я написал код, в котором я хочу открыть файл HTM, когда выбираю конкретную опцию ...

Для этого я создал командный файл и открыл его с помощью system (), как показано в коде. Это мой код:

код:

#include <iostream.h>
#include <stdlib.h>
#include <dos.h>
#include <process.h>
void main()
{
cout<<"Hello World";
delay(3000);
system("a.bat");
delay(1000);
}

a.bat код:

start iexplore.exe c:\Turbo\TC\BIN\Hello.htm

Когда я просто использую эту строку в командной строке, она выполняется, но когда я хочу выполнить ее с использованием кода на C ++, я получаю неверное имя файла или ошибку команды ...

Пожалуйста, скажите мне, если я ошибаюсь где-то здесь .. или что я могу сделать.

Пожалуйста, помогите ..

Спасибо ..:)

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

Поскольку большая часть вашего кода в любом случае не особенно переносима, почти наверняка правильным является использование ShellExecute для непосредственного «выполнения» файла HTML.Я, например, должен был бы быть довольно отчаянным, прежде чем я бы смирился с программой, использующей IE для открытия HTML-файлов.

ShellExecute специфичен для Windows, но ваш код не особенно портативный прямо сейчас.Я предполагаю, что Unix (или аналогичные) системы на самом деле не остановят вас от присвоения имени сценарию оболочки whatever.bat, но это, конечно, необычно.Вы, конечно, не должны ожидать, что iexplore.exe будет доступен для большинства (хотя для исполняемых файлов в общем случае расширение '.exe').

ShellExecute(NULL, NULL, "c:\\Turbo\\TC\\BIN\\Hello.htm", NULL, NULL, SW_SHOWNORMAL);
1 голос
/ 02 апреля 2012

Вы можете использовать CreateProcess() API (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425.aspx)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...