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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2014, 18:55   #1
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию разобратся в коде (обьяснить)

помогите нубу
кто нить знает про такой код?
Код:
#include <ios>
main()
{
  system("for /f \"tokens=1,2\" %a in (input.txt) do set /a %a+%b >output.txt");
}
можете меня научить как их писать?
kostan3 вне форума Ответить с цитированием
Старый 15.02.2014, 19:11   #2
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

функция system передает свой аргумент (строку) системному интерпретатору командной строки (для Windows это cmd.exe, для линуксов и им подобных - когда как). По поводу
Код:
for /f \"tokens=1,2\" %a in (input.txt) do set /a %a+%b >output.txt
гуглите как писать скрипты (.bat файлы) под винду или shell скрипты под униксы.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 15.02.2014, 19:31   #3
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

блин вы пишете одно и тоже помойму код
Код:
#include <ios>
main()
{
  system("for /f \"tokens=1,2\" %a in (input.txt) do set /a %a+%b >output.txt");
}
и код
Код:
@echo off

rem Настраиваем переменные
call config.bat

rem Проверяем, задан ли параметр
if not exist %1.hpj (

   rem Если параметр пуст, выдаем сообщение об ошибке
   echo Такого проекта хелп-файла не существует.
) else (

   rem Ниже расположены команды компиляции

   rem Вызываем компилятор для обработки конкретного проекта,
   rem имя которого передаем в первом параметре
   %help_compiler% %project_path%\%1.hpj

)
немного различаются

Код:
#include <ios>
main()
{
  system("for /f \"tokens=1,2\" %a in (input.txt) do set /a %a+%b >output.txt");
}
это с++ а не bat фаил

Код:
#include <ios>
main()
{
  system("for /f \"tokens=1,2\" %a in (input.txt) do set /a %a+%b >output.txt");
}
это с++ а не bat фаил

Последний раз редактировалось Stilet; 15.02.2014 в 22:45.
kostan3 вне форума Ответить с цитированием
Старый 15.02.2014, 19:36   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Объясняю на пальцах: Петя (C++) говорит Жене (системному интерпретатору командной строки) "закрой окно". Чтобы Женя сделал все как нужно, просьбу (команду) нужно написать языком, понятным ему.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 15.02.2014, 19:38   #5
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Объясняю на пальцах: Петя (C++) говорит Жене (системному интерпретатору командной строки) "закрой окно". Чтобы Женя сделал все как нужно, просьбу (команду) нужно написать языком, понятным ему.
?????????????????????????????? что?
kostan3 вне форума Ответить с цитированием
Старый 15.02.2014, 20:04   #6
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

короче..

функция system запускает cmd.exe и записывает в "консоль" все, что у нее между скобочек. Попробуйте тупо запустить cmd.exe и ввести туда
Код:
for /f \"tokens=1,2\" %a in (input.txt) do set /a %a+%b >output.txt
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 16.02.2014, 02:09   #7
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

В дополнении к ответу.
Функция system возвращает значение.

прототип:
Код:
int system (const char* command);
/* пример выполнение команды : DIR */

Код:

#include <stdio.h>      /* printf */
#include <stdlib.h>     /* system, NULL, EXIT_FAILURE */

int main ()
{
  int i;
  printf ("Checking if processor is available...");
  if (system(NULL)) puts ("Ok");
    else exit (EXIT_FAILURE);
  printf ("Executing command DIR...\n");
  i=system ("dir");
  printf ("The value returned was: %d.\n",i);
  return 0;
}
vvmcpp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить и обьяснить Dexxyx HTML и CSS 0 15.02.2012 17:33
Обьяснить код. Дядя Тёма Фриланс 1 09.06.2010 20:18
Помогите разобратся в коде на C++ bsiden Общие вопросы C/C++ 0 11.05.2009 18:24