【问题标题】:some questions in codeeval about the first argument to your program [duplicate]codeeval 中关于程序第一个参数的一些问题[重复]
【发布时间】:2014-08-24 01:24:55
【问题描述】:

在 codeeval 中,一些挑战要求我们从作为程序第一个参数的文件中读取测试用例,这是什么意思,程序的第一个参数?

我的代码可以在我的电脑上运行,但是当我提交解决方案时,它表明我错了,我不知道如何更改第一个参数的路径。

我的代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{

FILE *fp;
int num[100];
int i;
int sum = 0;
char ch;
int reminder;

fp = fopen("one.txt", "r+");

do{
    fscanf(fp, "%d", &num[i]);
    while(num[i]!=0){
        reminder = num[i]%10;
        sum = sum + reminder;
        num[i] = num[i]/10;
    }
    printf("%d\n", sum);
    sum = 0;
    i++;
}while((ch = fgetc(fp)) != EOF);

fclose(fp);

system("pause");
return 0;
}

【问题讨论】:

    标签: c


    【解决方案1】:

    当你在 Unix shell 或 Windows 命令窗口中启动程序时,你可以给它一个参数。例如,如果您的程序被称为“runtests”,您可以在一行中键入“runtests file.txt”,然后按 ENTER。 “file.txt”是程序的一个参数(第一个也是唯一一个参数)。

    要让您的程序访问这些参数,您需要向 main 添加参数:

    int main(int argc, char *argv[]) {
        // ....
        fp = fopen(argv[1], "r+");
        // ....
    

    请注意,argc 将为 2,因为 argv[0] 将是程序本身的名称,“runtests”。

    我相信您也可以将文件图标拖放到可执行文件的图标上,然后第一个参数将是拖放文件的完整路径名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      相关资源
      最近更新 更多