Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2011, 18:25   #1
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию Дочерние процессы в VS C++ 2010

Здравствуйте, есть программа, которая была написана под компилятор Borland C++ 3.1, на нем она компилировалась и работала правильно. Я её переделал под VS C++ 2010, с компилировалась она тоже правильно, но работать отказывается, причем ошибку она выдает при попытке запустить дочерний процесс. Подскажите в чем может быть дело. Вот код программы под Borland:
Код:
#include<iostream.h>
#include<process.h>
#include<conio.h>
void main()
{
int n;
clrscr();
while(1)
{
cout<<"\nВыбирете действие:”;
cout<<”\n1 – открыть lab1.exe”;
cout<<”\n2 – открыть lab4.exe”;
cout<<”\n3 – ВЫХОД”;
cin>>n;
 switch(n)
{
case 1: spawnl(P_WAIT, "lab1.exe", NULL);
cout<<"\nOk1";
getch();
break;
case 2: spawnl(P_WAIT, "lab4.exe", NULL);
cout<<"\nOk2";
break;
 case 3:exit(1);
}
 }
 }
А вот она же, но после моего вмешательства:
Код:
#pragma once
#include<iostream>
#include<process.h>
#include<conio.h>
#include<clocale>
void main(){
setlocale(LC_ALL,"Russian_Russia.1251");
int n;
   while(1){
      std::cout<<"\nЧто нужно сделать?";
      std::cout<<"\n1 – Показать результат на графике";
      std::cout<<"\n2 – Показать текстовый результат";
      std::cout<<"\n3 – ВЫХОД\n";
      std::cin>>n;
      switch(n){
         case 1: 
		    spawnl(P_WAIT, "Expiriens.exe", NULL);
            std::cout<<"\nOk1";
         break;
         case 2:
	        spawnl(P_WAIT, "Kurs1.exe", NULL);
            std::cout<<"\nOk2";
         break;
         case 3:exit(1);
      }
   }
}
Если сможете помочь, буду очень благодарен.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 27.05.2011, 20:02   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
причем ошибку она выдает при попытке запустить дочерний процесс
что за ошибку?

Код:
void main()
не зя

Код:
spawnl
Цитата:
This POSIX function is deprecated beginning in Visual C++ 2005. Use the ISO C++ conformant _spawnl instead.
p51x вне форума Ответить с цитированием
Старый 27.05.2011, 20:26   #3
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Ошибка в файле, происходит когда я выбираю какую программу запускать.
А что должно быть вместо void main() ?
Изображения
Тип файла: bmp Новый точечный рисунок.bmp (146.5 Кб, 129 просмотров)
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi, дочерние формы north Общие вопросы Delphi 12 11.11.2010 09:55
cxGrid дочерние формы YaNovichok Компоненты Delphi 0 11.10.2010 10:23
Дочерние окна XATAB Общие вопросы Delphi 3 14.11.2007 20:52
К существующим узлам TreeView пытаюсь добавить дочерние AlDelta Компоненты Delphi 2 05.11.2007 23:06
Не отображаюся дочерние записи siarhei БД в Delphi 0 25.05.2007 10:51