我有一段C代码,它打开并读取一个带有数字的文本文件,然后使用这些数字计算一个矩形的面积。我的代码是:
#include <stdio.h>
int main()
{
FILE *ifile;
float length, width;
float maxarea = 0, maxlen, maxwidth;
ifile = fopen("rectangles.txt", "r");
while (feof(ifile) <= 0)
{
fscanf(ifile, "%f %f", &length, &width);
if (length * width > maxarea)
{
maxarea = length * width;
maxlen = length;
maxwidth = width;
}
}
printf("Maximum area is %f for rectangle with length %f and width %f",
maxarea, maxlen, maxwidth);
fclose(ifile);
return(0);
}
当我调试它时,它显示如下:
当我重试它时,它显示这个错误:
使用相同的代码,当我在Linux终端上运行它时,它可以工作,并给出正确的输出。(recLarge是可执行文件)
如何在Visual Studio 2017上获得相同的输出?
发布于 2019-03-26 08:58:00
编辑项目设置并将任何命令行选项添加到Command Arguments
注意Working Directory
设置。
显然,您的main
函数当前没有为此设置。您需要添加对参数的支持:
int main(int argc, char **argv)
{
if (argc <= 1)
{
fprintf(stderr, "Not enough arguments\n");
return EXIT_FAILURE;
}
char *filename = argv[1];
FILE *ifile = fopen(filename,"r");
if (!file)
{
perror("Cannot open file");
return EXIT_FAILURE;
}
// ...
return EXIT_SUCCESS;
}
发布于 2019-03-27 12:05:17
我需要在资源下创建文本文件"rectangles.txt“作为文本文件。主要的C代码将在源代码下。代码的dubugging需要将rectangles.txt作为命令参数。编译为应编译为C代码(/TC)。
https://stackoverflow.com/questions/55348293
复制相似问题