问题描述
- C语言打开一个电脑中的文件,文件指针显示是错误的指针,这是为什么
-
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上路径要用/或者为间隔
时间: 2025-01-19 17:56:10