将文本文件的参数从main传递给其他函数

时间:2014-09-30 21:06:11

标签: c

如何从cmd传递参数,该参数等于我要用main之外的其他函数打开的文件的名称?

我想将cmd中的程序作为“myprogram -open myfile.txt”运行,例如,我想使用另一个函数来计算此文件中的字符或空格或其他内容。如何将文件名(在本例中为argv [2])传递给另一个我可以使用fopen的函数?谢谢你的时间。

int main(int argc, char **argv)
{
if((argc==3) && (strcmp("-open", argv[1]) == 0))
etc.

2 个答案:

答案 0 :(得分:1)

只需传入argv[2]

int main(int argc, char **argv)
{
    if((argc==3) && (strcmp("-open", argv[1]) == 0))
    {
        FILE *fp = fopen(argv[2]);
        //OR
        otherFuncThatCallsFopen(argv[2]);
    }
}

argv[2]是指向第二个参数的有效char *

答案 1 :(得分:0)

您可以编写一个带有unsigned int count_characters(const char *file_name)

等签名的函数

并使用count_characters(argv[2])

进行调用