【问题标题】:passing argument of text file from main to other function将文本文件的参数从 main 传递给其他函数
【发布时间】:2023-03-09 03:54:01
【问题描述】:

如何从 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.

【问题讨论】:

  • 看看你是如何将"-open" 传递给strcmp() 的?为什么将argv[2] 传递给另一个函数会有所不同?您是在问如何定义其他功能?

标签: c


【解决方案1】:

你可以写一个像unsigned int count_characters(const char *file_name)这样签名的函数

并使用count_characters(argv[2]) 调用它

【讨论】:

    【解决方案2】:

    只需传入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 *

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-05
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多