Dev c ++代码不在通常的c ++中运行(代码块与Visual Studio)

Dev c++ code not running in viusual c++ (codeblocks vs Visual Studio)

本文关键字:代码 运行 Studio Visual Dev      更新时间:2023-10-16

出于某种奇怪的原因,文件声明在Visual Studio中的工作方式与在代码块中的工作方式不同。以下代码在code:blocks中运行得很好,但不会在Visual Studio中运行,我不知道为什么不弄清楚。

int n;
FILE * pFile;
pFile = fopen ("date.in","r");
fscanf(pFile,"%d",&n);
printf("%d", n);
return 0;

分别使用 CSTDIO 和 STDAFX编辑 1:

// ConsoleApplication3.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int d;
int main ()
{
FILE * inFile;
inFile = fopen("date.in", "r");
fscanf(inFile, "%d", &d);
printf("%d", d);
return 0;
}

触发 stdio.h 的断点行 1061

问题是你没有检查fopen的结果,它失败了。 这几乎可以肯定是因为程序运行时data.in不在当前目录中(而是其他目录)

您可以在项目属性中指定运行程序时的当前目录。 或者,在命令行上传递数据文件的完整路径,并在项目属性中指定程序的参数。