来自终端的C变量

来自终端的C变量,c,ubuntu,terminal,C,Ubuntu,Terminal,我正在写一个程序来读取一个文件,并显示文件中的行数和字数,很简单。我想要的是能够从终端(运行Ubuntu)运行程序,只需键入: 计数 但我不确定如何将文件名放入C程序中的变量中。请帮点忙好吗 提前感谢。我想您正在寻找。首先,命令名将以./as in./count开头 其次,可以使用char**类型的argv指针向其传递参数 如果键入命令: ./count input.dat 你会得到: argc = 2 //total number of arguments argv[0] = "./cou

我正在写一个程序来读取一个文件,并显示文件中的行数和字数,很简单。我想要的是能够从终端(运行Ubuntu)运行程序,只需键入:

计数

但我不确定如何将文件名放入C程序中的变量中。请帮点忙好吗


提前感谢。

我想您正在寻找。

首先,命令名将以./as in./count开头

其次,可以使用char**类型的argv指针向其传递参数

如果键入命令:

./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);
}
intmain(intargc,char*argv[])
{
字符文件名[20];
如果(argc>1)
{
strcpy(文件名,argv[1]);//如果键入的命令是“/count”
}
//打开并读取文件
返回(0);
}

< /代码>哈,甚至没有考虑:谢谢堆。