写入文件

时间:2016-04-18 22:25:01

标签: c file clion

我最近做了一个程序,结果我的作业出错了。我有所有正确的步骤,但我不应该从命令行执行它,而是从IDE运行它(如果这是有意义的)。

我应该做的是进入文件" numbers.txt"并读取其中的整数(那里已有数字)。我想找到sum,product和最高整数,并将它们输出到名为" stat.txt"的文本中。但是,我对如何从编译器中执行此操作感到困惑。我在同一目录中有两个文件,但是当我在编译器中运行它时,它说"无法读取输入文件。"我不知道如何使用编译器只读取文本文件,因为我习惯使用命令行。

这是我的代码(我无法获得最大值以适应代码)。

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

    int number = 0;
    int sum = 0;
    int product = 1;
    int max = 0; 

    FILE *input, *output;
    input = fopen("numbers.txt", "r");
    output = fopen("stat.txt", "w");

    if (input == NULL) {
        printf("Can not read the input file\n");
        exit(-1);
    }

    while ((fscanf(input, "%d", &number)) != EOF) {
            sum = sum + number;
            product = product * number;
        if (number > max){
            max = number;
        }
    }
    fprintf(output, "Sum : %d\n", sum);
    fprintf(output,"Product : %d\n", product);
    fprintf(output, "Largest: %d", max);
    fclose(input); fclose(output);
}

1 个答案:

答案 0 :(得分:3)

您使用的是什么IDE?您正在向fopen提供numbers.txt的相对路径,它必须与可执行文件存在于同一目录中。

将numbers.txt放入IDE构建程序的同一文件夹中,或者为其提供绝对路径,例如' /home/username/Desktop/number.txt'