FILE *fp1;
printf("请输入要打开的文件的位置:");
gets(file1);
if((fp1=fopen(file1,"r"))==NULL)
{
printf("Can't open this file!\n");
exit(0);
}
对话框中显示为 请输入要打开的文件的位置:D:\a.docx
此时逐语句调试时,局部变量fp1的值显示为+ fp1 0x5e3d1448 {_ptr=0x00000000 <错误的指针> _cnt=0 _base=0x00000000 <错误的指针> ...} _iobuf *
然后程序就出现了错误,求问这是为什么?
你为什么要自己输入路径呢?你试试char *pchDir = “D:\a.docx”;
gets(file1);
这里的file1在哪里定义的,有没有分配?还是只定义了指针?
字符串转义字符 要用双斜杠吧!
Windows上路径要用/或者\为间隔
我的问题也是这样
#include
#include
int main()
{
const char *filename = "F://test.txt";
FILE *fp = fopen (filename,"r");
if(fp == NULL)
{
printf("failed to open file!\n");
system("pause");
return -1;
}
老打开失败,单步调试就说- stream 0x013820f4 string "F://test.txt" {_ptr=0x2f2f3a46 <错误的指针> _cnt=1953719668 _base=0x7478742e <错误的指针> ...} _iobuf *等等各种错误的指针。
已被这个问题弄崩溃。在别的电脑上运行又是可以打开文件的。这是什么原因,电脑上缺少什么东西吗?