早教吧作业答案频道 -->其他-->
VC里什么函数可代替OPEN函数我在VC里用了按钮控件来构建一个对话框,打开一个文件.在这个按键的函数里我又用了OPEN函数来打同一个文件,这样导致检测的数据不对,编译倒是没错.VC里有什么函
题目详情
VC里什么函数可代替OPEN函数
我在VC里用了按钮控件来构建一个对话框,打开一个文件.在这个按键的函数里我又用了OPEN函数来打同一个文件,这样导致检测的数据不对,编译倒是没错.VC里有什么函数可以替代这个OPEN函数,或如何修改以下代码.代码如下:void CZinceDlg::OnButopen()
{
// TODO:Add your control notification handler code here
CString strName;
//char *path;
int ret1;
//char ch4[100];
CDialog::OnInitDialog();
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="All Files(*.*)\0*.*\0\0";
//构造定制的文件对话框
//CFileDialog dlg(TRUE,_T("*"),_T("*.avi"),OFN_EXPLORER,_T("影像文件(*.avi)|*.avi|所有文件(*.*)|*.*|"));
//CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,"所有文件|*.*||");
if(fileDlg.DoModal()==IDOK)
{
strName1=fileDlg.GetPathName();
//MessageBox(strName1+"文件已打开","打开文件");
//m_epath1.Format("文件路径:%s",strName1);
CFile file(fileDlg.GetFileName(),CFile::modeRead);//定义文件
dwFileLen=file.GetLength();//读取文件长度
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Seek(0,CFile::begin);
file.Read(pBuf,dwFileLen);//读取文件信息
m_epath1.Format("文件路径:%s",file.GetFilePath()); //显示文件的路径
ret1=mdec((char *)(LPCTSTR)strName1);
static int mdec(char *argv)
{
int ret,code;
base.Infile=open(argv,O_RDONLY|O_BINARY);
ld = &base;
if(base.Infile = 0)
{
Initialize_Buffer();
next_start_code();
//取32位数据
code = Show_Bits(32);
switch(code)
{
case SEQUENCE_HEADER_CODE://序列头
break;
case SEQUENCE_END_CODE://序列结束
return 0;
break;
case PACK_START_CODE:
System_Stream_Flag = 1;
case VIDEO_ELEMENTARY_STREAM://视频流
System_Stream_Flag = 1;
break;
default:
break;
}
Initialize_Buffer();
}
Initialize_Decoder();
ret = Decode_Bitstream();
close(base.Infile);
return 0;
}
如果把上面的ret1=mdec((char *)(LPCTSTR)strName1)里的路径直接改为文件名的话,那就测到相应的数据,但我想要实现用按钮来打开文件,
我在VC里用了按钮控件来构建一个对话框,打开一个文件.在这个按键的函数里我又用了OPEN函数来打同一个文件,这样导致检测的数据不对,编译倒是没错.VC里有什么函数可以替代这个OPEN函数,或如何修改以下代码.代码如下:void CZinceDlg::OnButopen()
{
// TODO:Add your control notification handler code here
CString strName;
//char *path;
int ret1;
//char ch4[100];
CDialog::OnInitDialog();
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="All Files(*.*)\0*.*\0\0";
//构造定制的文件对话框
//CFileDialog dlg(TRUE,_T("*"),_T("*.avi"),OFN_EXPLORER,_T("影像文件(*.avi)|*.avi|所有文件(*.*)|*.*|"));
//CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,"所有文件|*.*||");
if(fileDlg.DoModal()==IDOK)
{
strName1=fileDlg.GetPathName();
//MessageBox(strName1+"文件已打开","打开文件");
//m_epath1.Format("文件路径:%s",strName1);
CFile file(fileDlg.GetFileName(),CFile::modeRead);//定义文件
dwFileLen=file.GetLength();//读取文件长度
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Seek(0,CFile::begin);
file.Read(pBuf,dwFileLen);//读取文件信息
m_epath1.Format("文件路径:%s",file.GetFilePath()); //显示文件的路径
ret1=mdec((char *)(LPCTSTR)strName1);
static int mdec(char *argv)
{
int ret,code;
base.Infile=open(argv,O_RDONLY|O_BINARY);
ld = &base;
if(base.Infile = 0)
{
Initialize_Buffer();
next_start_code();
//取32位数据
code = Show_Bits(32);
switch(code)
{
case SEQUENCE_HEADER_CODE://序列头
break;
case SEQUENCE_END_CODE://序列结束
return 0;
break;
case PACK_START_CODE:
System_Stream_Flag = 1;
case VIDEO_ELEMENTARY_STREAM://视频流
System_Stream_Flag = 1;
break;
default:
break;
}
Initialize_Buffer();
}
Initialize_Decoder();
ret = Decode_Bitstream();
close(base.Infile);
return 0;
}
如果把上面的ret1=mdec((char *)(LPCTSTR)strName1)里的路径直接改为文件名的话,那就测到相应的数据,但我想要实现用按钮来打开文件,
▼优质解答
答案和解析
CFile file(fileDlg.GetFileName(),CFile::modeRead);//定义文件
把GetFileName()改成GetPathName()
GetFileName()只能获取文件名,不包涵路径.
把GetFileName()改成GetPathName()
GetFileName()只能获取文件名,不包涵路径.
看了 VC里什么函数可代替OPEN...的网友还看了以下:
定州吧奇特的年轮人们所熟知的年轮,是树木的年龄.一棵树被锯倒了,数一数树墩上有多少圈条纹,人们就 2020-04-26 …
开会时怎样给领导倒水,在领导的身前倒水还是身后倒水,还有什么其他的讲究?是在大型会堂领导在台上和属 2020-05-16 …
●各部门、各行业及各应用领域对于相同的数据概念有着不同的功能需求和不同的描述,导致了数据的不 2020-05-26 …
下列句子没有语病的一项是A.是否具备良好的心理素质,这是每位考生取得优异成绩的重要条件之一.B.绿 2020-07-08 …
怎么学习导数函数高中的导数函数怎么学啊,感觉一团糟.初中交的函数都没学会,在中考拖了数学的后退.现 2020-07-12 …
闭区间上可导的疑问如果函数f(x)在开区间(a,b)内可导且f'+(a)(点a的右导数)及f'-( 2020-07-30 …
根据很多调查中的警告可知,这些灾害导致了数百万人死亡. 2020-11-18 …
阅读文章,奇特的年轮①人们所熟知的年轮,是树木的年轮.一棵树被锯倒了,数一数树墩上有多少圈条纹,人们 2020-11-27 …
1、小亮在匀速行驶的汽车里,注意到公路里程碑上的数是两位数;1h后看到里程碑上的数与第一次看到的两位 2020-12-02 …
下列各句中没有语病的一项是[]A.足球场上,队员们精神矍铄,斗志昂扬,精湛的球技倾倒了数万球迷。B. 2021-01-09 …