我在vc6.0下作了一个MFC单文档,打开文件然后读取数据
FILE *fd = fopen(filename.c_str(),"r");
if(!fd){
::MessageBox(NULL,"can't open file","Error",MB_OK);
return;
}
char buf[256];
fgets(buf,256,fd);
fgets(buf,256,fd);
...但是一模一样的在vs2008下做了一遍,提示can't open file,这个是怎么回事呢
vc6.0和vs2008下哪里需要不同啊?
FILE *fd = fopen(filename.c_str(),"r");
if(!fd){
::MessageBox(NULL,"can't open file","Error",MB_OK);
return;
}
char buf[256];
fgets(buf,256,fd);
fgets(buf,256,fd);
...但是一模一样的在vs2008下做了一遍,提示can't open file,这个是怎么回事呢
vc6.0和vs2008下哪里需要不同啊?
是不是vs2008下根据目录打开文件的方法和vc6.0不一样啊
在filename.后面出现很多提示,有at begin c_str等 都是什么意思啊
path=".\\子目录\\a.dat";
这样就可以了
res/a.txt。注意,必须从vs2008启动运行程序。如果你双击exe,那么exe的当前目录就是它所在的文件夹,即debug,此时访问文件肯定出错。
改成getpathname()后就可以了
谢谢大家!