社区
数据库
帖子详情
关于MFC CFile::Open
l251284007
2010-07-13 03:37:11
“CFile::Open”: 不能将参数 1 从“const char [9]”转换为“LPCTSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
...全文
175
6
打赏
收藏
关于MFC CFile::Open
“CFile::Open”: 不能将参数 1 从“const char [9]”转换为“LPCTSTR” 1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
houchuantong
2012-01-05
打赏
举报
回复
工程里设成了unicode字符集了,改成使用多字节字符集就可以
houchuantong
2012-01-05
打赏
举报
回复
已经解决怎么解决的,不能附上解决方案么?!
l251284007
2010-07-13
打赏
举报
回复
谢谢 已解决!
Eleven
2010-07-13
打赏
举报
回复
编码问题
CFile file;
file.Open(_T("..."),...);
buyong
2010-07-13
打赏
举报
回复
put your code
lingxiasandu
2010-07-13
打赏
举报
回复
file.Open(filename,。。。)
filename换作CString类型的试试吧
MFC
文件操作
C
File
//创建/打开文件 C
File
file
;
file
.
Open
(_T("test.txt"),C
File
::modeCreate|C
File
::modeNoTruncate|C
File
::modeReadWrite); 文件打开模式可组合使用,用“|”隔开,常用的有以下几种: C
File
::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件原有内容。 C
File
::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。一般与C
File
::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追加操作。 C
File
::modeReadWrite:以读写方式打开文件。 C
File
::modeRead:只读。 C
File
::modeWrite:只写。 //写入数据 CString strValue = "Hello World!";
file
.Write(strValue,strValue.GetLength()); //追加数据
file
.SeekToEnd(); //将指针移至文件末尾进行追加
file
.Write(strValue,strValue.GetLength()); //关闭文件
file
.Close(); CStdio
File
CStdio
File
是C
File
的派生类,对文件进行流式操作,对于文本文件的读写很有用处,可按行读取写入。 //写入数据 CString strValue = "Hello World!";
file
.WriteString(strValue); //读取数据 CString strRead;
file
.ReadString(strRead); 当文件存在多行数据需要逐行读取时,可用函数BOOL CStdio
File
::ReadString(CString& rString),当遇到"\n "时读取截断,如果文件未读完,返回true,否则返回false。 //逐行读取文件内容,存入strRead while(
file
.ReadString(strRead)) { ...; } 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。
MFC
中有一个专门用来进行文件查找的类C
File
Find,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。 CString str
File
Title; C
File
Find finder; BOOL bWorking = finder.Find
File
("C:\\windows\\sysbkup\\*.cab"); while(bWorking) { bWorking=finder.FindNext
File
(); str
File
Title=finder.Get
File
Title(); } 2.文件的打开/保存对话框 让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。
MFC
的类C
File
Dialog用于实现这种功能。使用C
File
Dialog声明一个对象时,第一个BOOL型参数用于指定文件的打开或保存,当为TRUE时将构造一个文件打开对话框,为FALSE时构造一个文件保存对话框。 在构造C
File
Dialog对象时,如果在参数中指定了OFN_ALLOWMULTISELECT风格,则在此对话框中可以进行多选操作。此时要重点注意为此C
File
Dialog对象的m_ofn.lpstr
File
分配一块内存,用于存储多选操作所返回的所有文件路径名,如果不进行分配或分配的内存过小就会导致操作失败。下面这段程序演示了文件打开对话框的使用方法。 C
File
Dialog m
File
Dlg(TRUE,NULL,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, "All
File
s (*.*)|*.*||",AfxGetMainWnd()); CString str(" ",10000); m
File
Dlg.m_ofn.lpstr
File
=str.GetBuffer(10000); str
用
MFC
做的电话本可以查看,添加,删除
可以实现电话本的添加删除查看等功能 void AddressBook::OnButton_
open
() { // TODO: Add your control notification handler code here m_str
File
Name = "
file
.txt"; m_List.DeleteAllItems(); C
File
file
; try {
file
.
Open
(m_str
File
Name,C
File
::modeRead|C
File
::modeCreate|C
File
::modeNoTruncate); phonebook1 phone; int nCount; nCount=
file
.Read(&phone,sizeof(phonebook1)); int i=0; while(nCount) { m_List.InsertItem(i,phone.Name); m_List.SetItemText(i,1,phone.Mobile); i++; nCount=
file
.Read(&phone,sizeof(phonebook1)); } } catch (C
File
Exception *e) { e->ReportError();}
file
.Close(); }
showjpeg
MFC
打开JPEG文件
从磁盘打开JPG图片
MFC
C
File
file
;
file
.
Open
("angell.jpg",C
File
::modeReadWrite); DWORD len =
file
.GetLength(); hMem = GlobalAlloc(GMEM_MOVEABLE,len); LPVOID pData = NULL; pData = GlobalLock(hMem);
file
.ReadHuge(pData,len);
file
.Close(); GlobalUnlock(hMem); CreateStreamOnHGlobal(hMem,TRUE,&m_pStream); OleLoadPicture(m_pStream,len,TRUE,IID_IPicture,(LPVOID*)&m_pPicture); m_pPicture->get_Height(&m_JPGHeight); m_pPicture->get_Width(&m_JPGWidth);
mfc
编程用于前方教会编程
mfc
编程用于前方教会编程
FILE
*fp; if ((fp = f
open
("e:\\temp\\my
file
.txt", "w")) == NULL) { printf("
Open
dump
file
ERROR"); exit(1); } fprintf(fp, "argc=%d\n",argc); fclose(fp); /////////////// CStdio
File
file
; int dd[50]; if( !
file
.
Open
(_T("D:\\1.txt"), C
File
::modeCreate | C
File
::modeWrite) ) { CString str; for(int i=0; i<50; i++) { str.Format("%d\n", dd[i]);
file
.WriteString(str); }
file
.Close(); }
MFC
简易文本编辑器
void CeditDlg::OnBnClicked
open
() { // TODO: 在此添加控件通知处理程序代码 int i=0; char s[10000]; char szFilter[]="文本文件(*.txt)|*.txt|All
File
(*,*)|*,*||"; C
File
Dialog
Open
Dlg(true,"*.txt",0,0,szFilter); int x=
Open
Dlg.DoModal(); if(x==IDOK) { C
File
file
Open
; try{
file
Open
.
Open
(
Open
Dlg.GetPathName(),C
File
::modeRead); i=
file
Open
.GetLength();
file
Open
.Read(s,i);
file
Open
.Close(); }catch(C
File
Exception *e){ CString str; str.Format("读取数据失败的原因是:%d",e->m_cause); MessageBox(str);
file
Open
.Abort(); e->Delete(); } } CString str(s,i); m_Edit1=str; UpdateData(false); } void CeditDlg::OnBnClickedsave() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); char szFilter[]="文本文件(*.txt)|*.txt|All
File
(*,*)|*,*||"; C
File
Dialog SaveDlg(false,"*.txt",0,0,szFilter); int x=SaveDlg.DoModal(); if(x==IDOK) { C
File
file
Save; try{
file
Save.
Open
(SaveDlg.GetPathName(),C
File
::modeCreate|C
File
::modeWrite);
file
Save.Write(m_Edit1,m_Edit1.GetLength());
file
Save.Close(); }catch(C
File
Exception *e){ CString str; str.Format("保存数据失败的原因是:%d",e->m_cause); MessageBox(str);
file
Save.Abort(); e->Delete(); } } }
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章