在vc里的文件操作 我把文件路径写入另一文件 在读出后用读出的文件路径采用open函数是提示非法操作?
我是这样写的
char fPath[50]={'\0'} ;
//取系统文件 查看用户文件目录
stdSysFile.Open("c:\\myfile.txt",CFile::modeRead, NULL);
stdSysFile.Read(fPath,50);
stdSysFile.Close();
exChang( );//这个函数是我用来把多取出来的字符去掉,
// 我调试时fpath="c:\\My Documents\\ym.txt";
// 可是下面调试有问题
//为空则弹出没有信息的MessageBox,否则显示第一个
if(fPath[0]=='\0')
{ MessageBox("没有学生信息");return;
} else
{ stdFile.Open(fPath,CFile::modeRead);}//在这里有系统弹出“非法操作”对话框
我是这样写的
char fPath[50]={'\0'} ;
//取系统文件 查看用户文件目录
stdSysFile.Open("c:\\myfile.txt",CFile::modeRead, NULL);
stdSysFile.Read(fPath,50);
stdSysFile.Close();
exChang( );//这个函数是我用来把多取出来的字符去掉,
// 我调试时fpath="c:\\My Documents\\ym.txt";
// 可是下面调试有问题
//为空则弹出没有信息的MessageBox,否则显示第一个
if(fPath[0]=='\0')
{ MessageBox("没有学生信息");return;
} else
{ stdFile.Open(fPath,CFile::modeRead);}//在这里有系统弹出“非法操作”对话框
不过条的时候watch里看到的是fpath="c:\\My Documents\\ym.txt";有错吗??
在 定义fPath时,memset(fPath,'\0',50)
转换后就是 fpath="c:\\My Documents\\ym.txt" 还是不行,转换函数是
我自己写的函数,没有用memset(fPath,'\0',50)
因为用户文件的长度是不确定的 有时没有50个字节,"c:\\My Documents\\ym.txt"
长度没有50
char fPath[256];
memset(fPath, 0, 256);
谢谢
谢谢 我把他改到c盘下后可以了 我怎样将分分给你们??。