问题:
Debug|Win32编译选项。
编译成功,在vs中使用F5或者CTRL+F5运行程序成功。
进入可执行文件的目录直接执行出现断言错误。如上图所示。
原因:
文件1.txt及2.txt存放在工程路径下,在vs使用F5或者CTRL+F5运行程序时工程可以找到这两个文件(生成可执行文件在debug目录下),运行时没有问题;但直接进入debug目录直接执行可执行文件时,由于debug目录没有1.txt及2.txt文件,
553 fpFile=fopen("1.txt","rb+");
554 handle=open("1.txt",O_RDWR);
555 lFileLen = filelength(handle);
556 fgets((char*)buf,lFileLen+1,fpFile);
则以上代码中553及554打开文件失败(应添加检查打开文件错误代码),使用filelength获取文件长度时会报错
Debug Assertion Failed!
File:f:\dd\vctools\crt_bld_self_x86\crt\src\flength.c
Line:46
Expressionfiledes >= 0 && (unsigned)filedes < (unsigned)_