回 帖 发 新 帖 刷新版面

主题:vc里可以运行,生成exe不能运行

micrsoft visual c++ debug library
debug assertiom failed
program:f:\debug\a.exe
file:fscanf.c
line:54
expression:stream!=null
for information on how your program can cause an assertion failure,see the visual c++ documentation on asserts. 

在vc里都能调试运行,但直接点击生成的exe就不行了出现上面的错误提示
#include<windows.h>
#include<stdio.h>
void main()
{
 FILE *fp;
 char infile[20],outfile[20];
 fp=fopen("temp.dat","r");
 fscanf(fp,"%s",infile);
 fscanf(fp,"%s",outfile);
 CopyFile(infile,outfile,FALSE);
 fclose(fp);


team.dat里是
c:\\file1.txt
f:\\file1.txt两行字

回复列表 (共4个回复)

沙发

原因是这样的:你在运行直接生成的EXE文件时,它找不到temp.dat这个文件,所以发生了错误。
你把temp.dat文件和生成的EXE文件放在同一个目录下,这样就可以了。比如说把它复制到Debug目录下

板凳

正如楼上所说的.

3 楼


其实在fopen的地方判断一下,就知道为什么不能运行了……程序找不要读取的文件了……

4 楼


谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册