我想在Windows上使用MingW + Eclipse开发一个简单的Windows应用程序。
但是我不能用GDB调试程序,因为如果我在调试模式下运行程序,fopen总是失败(返回NULL指针)。
FILE* fp = fopen(filename, "r");
有谁知道如何避免这种现象?
案例1)正常运行程序(不是调试模式)
工作正常。
案例2)使用gdb运行程序(不使用eclipse CDT)
工作正常。
案例3)使用eclipse CDT和gdb运行程序
不起作用。 (fopen总是返回NULL指针)
gcc 4.6.2 gdb 7.6.1 日食4.6.1(霓虹灯) Windows7企业版(SP1)64位版
感谢您提出许多有用的建议! 起初我不知道perror功能, 这是我的测试代码。
FILE* fp = fopen(filename, "r");
char lineBuffer[256];
if (fp) {
while (fgets(lineBuffer, 256, fp) != NULL) {
doSomething(lineBuffer);
}
fclose(fp);
}
else {
perror("error ");
}
filename由argv / argc传递。
首先我使用了相对路径,而perror结果如下(someone.txt)
error : No such file or directory
Secondery我使用绝对路径并且perror结果如下。(D:\ someone.txt)
error : Invalid argument