Переменная C из терминала - PullRequest
0 голосов
/ 19 сентября 2010

Я пишу программу для чтения файла и отображения количества строк и слов в указанном файле, простые вещи.Я хочу иметь возможность запускать программу из терминала (с запущенной Ubuntu), просто набрав:

count

Но я не уверен, как получить имя файла в переменной вС программой.Маленькая помощь, пожалуйста?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 19 сентября 2010

Я думаю, что вы ищете argv .

0 голосов
/ 19 сентября 2010

Во-первых, имя команды будет начинаться с ./ как в ./count.

Во-вторых, вы можете передать ей аргументы, используя указатель argv типа char **.

Если вы введете команду:

./count input.dat

Вы получите:

argc = 2  //total number of arguments
argv[0] = "./count"
argv[1] = "input.dat"

Например, чтобы получить имя файла в качестве второго параметра:

int main( int argc, char *argv[] )
{
   char fileName[20];

   if(argc>1)
   {
      strcpy(fileName,argv[1]); // if the command typed is "./count <fileName>"
   }

   //open & read file

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