我有一个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 Terminal上运行时,它可以正常工作并提供正确的输出。 (recLarge是可执行文件)
如何在Visual Studio 2017上获得相同的输出?
答案 0 :(得分:1)
编辑您的项目设置,并将所有命令行选项添加到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;
}
答案 1 :(得分:0)