проблема с получением программы для выполнения другой программы - PullRequest
1 голос
/ 24 августа 2011

Я очень новичок в c, хотя и не в программировании, так что не обращайте на меня внимания ... Меня в основном интересует простая цель - получить программу на C до

Я просто хочу заставить программу на С делать
c: \ windows \ system32 \ cmd.exe / k dir или же c: \ windows \ system32 \ cmd.exe / k c: \ windows \ system32 \ cmd.exe / k dir

Я нашел компилятор Windows C .. с именем lcc-win32

Вот код, который я использую, на данный момент только для запуска cmd.exe

#include <iostream>
#include <fstream>
using namespace std;
int main(){
    ifstream inFile;
    inFile.open("c:\windows\system32\cmd.exe");
    if(!inFile){

      cout<<"Cannot open file bish."<<endl;
      system("pause");
      return 1;
      }

    system("pause");
}

Но я получаю много ошибок cpp: c: \ cprogs \ hw2.c: 1 Не удалось найти файл включения cpp: c: \ cprogs \ hw2.c: 2 Не удалось найти файл включения и другие

Warning c:\cprogs\hw2.c: 1  no type specified. Defaulting to int
Error c:\cprogs\hw2.c: 1  Syntax error; missing semicolon before  `namespace'
Warning c:\cprogs\hw2.c: 1  no type specified. Defaulting to int
Error c:\cprogs\hw2.c: 1  Syntax error; missing semicolon before  `std'
Warning c:\cprogs\hw2.c: 1  no type specified. Defaulting to int
Error c:\cprogs\hw2.c: 3  undeclared identifier 'ifstream'
Warning c:\cprogs\hw2.c: 3  Statement has no effect
Error c:\cprogs\hw2.c: 3  Syntax error; missing semicolon before  `inFile'
Error c:\cprogs\hw2.c: 3  undeclared identifier 'inFile'
Warning c:\cprogs\hw2.c: 3  Statement has no effect
Error c:\cprogs\hw2.c: 4  left operand of . has incompatible type 'int'
Error c:\cprogs\hw2.c: 4  found 'int' expected a function
Warning c:\cprogs\hw2.c: 4  unrecognized character escape sequence '\w' (0x486bd7)
Warning c:\cprogs\hw2.c: 4  unrecognized character escape sequence '\s' (0x486bde)
Warning c:\cprogs\hw2.c: 4  unrecognized character escape sequence '\c' (0x486be6)
Warning c:\cprogs\hw2.c: 4  missing prototype
Error c:\cprogs\hw2.c: 7  undeclared identifier 'cout'
Error c:\cprogs\hw2.c: 7  operands of << have illegal types 'int' and 'pointer to char'
Error c:\cprogs\hw2.c: 7  undeclared identifier 'endl'
Warning c:\cprogs\hw2.c: 7  Statement has no effect
Warning c:\cprogs\hw2.c: 8  missing prototype for system
Warning c:\cprogs\hw2.c: 8  Missing prototype for 'system'
Warning c:\cprogs\hw2.c: 7  possible usage of endl before definition
Warning c:\cprogs\hw2.c: 7  possible usage of cout before definition
Warning c:\cprogs\hw2.c: 12  missing prototype for system
Warning c:\cprogs\hw2.c: 12  Missing prototype for 'system'
Warning c:\cprogs\hw2.c: 3  possible usage of inFile before definition
Warning c:\cprogs\hw2.c: 3  possible usage of ifstream before definition
Compilation + link time:0.0 sec, Return code: 1

Я надеюсь, что только что нашел пример кода в сети, который я могу изменить, но я даже не могу получить такой код для компиляции.

- добавил ---

Я нашел пример кода, я решил сделать так, потому что у меня есть некоторый опыт программирования.

#include <stdlib.h>

int main()
{
    system("c:\\windows\\system32\\cmd2.exe /v:on c:\\windows\\system32\\cmd2.exe /v:on");
    return 0;
}

и это похоже на работу

Ответы [ 2 ]

2 голосов
/ 24 августа 2011

Вы открываете исполняемый файл, а не выполняете его. Проверьте «системный» вызов.

1 голос
/ 24 августа 2011

Прежде всего, вам нужно убежать от слеша. "\\" переводится в одну обратную косую черту.

Но, судя по всему, вам вообще не нужно об этом беспокоиться. Я вижу, что вы используете системную команду. Вам не нужно запускать cmd.exe для того, чтобы использовать систему. Попробуйте просто

int main()
{
    system("pause");

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