Проблема с аргументом командной строки в компиляторе Turbo C

#c

#c

Вопрос:

Кто-нибудь может сказать мне, как я могу указать аргумент командной строки (int argc и char * argv []) в компиляторе turbo C??

Спасибо

Ответ №1:

  • Запустите командную строку
  • запустите исполняемый файл. если это abc.exe делать : abc.exe argument1 argument2 argument3 . . . argumentn

В коде argv[0] будет содержаться abc.exe , argv[1] будет содержать argument1 и так далее. argc значением будет количество строк в argv

Пример

 #include <stdio.h>

int main (int argc, char *argv[])
{
  int i=0;
  printf ("nargc = %d", argc);
  for (i=0; i<argc; i  )
  {
    printf ("nargv[%d] = %s", i, argv[i]);
  }
  printf ("n");
  return 0;
}
  

запуск с :

demo.exe hello man this is a test

Вывод:

 argc = 7
argv[0] = demo.exe
argv[1] = hello
argv[2] = man
argv[3] = this
argv[4] = is
argv[5] = a
argv[6] = test
  

PS: Пожалуйста, прекратите использовать TurboC (3.1)

Комментарии:

1. Почему вы печатаете наоборот ( "nstuff" по "stuffn" сравнению)? : D

2. привычка, "stuffn" такое ощущение, что под ногами у строки нет почвы. "nstuff" такое ощущение, что за строкой стоит прочная основа (the n ), защищающая ее. Это на самом деле ментально.

Ответ №2:

Просто объявите прототип вашего main как int main(int argc, char *argv[]) и все будет в порядке. argc и argv передаются операционной системой (независимо от того, что вы используете) 😉

Комментарии:

1. возможно, он был фанатом Windows 🙂

2. @Andrey: ops.. Они все еще существуют? 😛 Неважно, я это изменю =)