输入输出文件流
首先建立一个单文档视图,记得VIEW的父类要选CFORMVIEW。这样的话可以在VIEW的界面中出现一个类似于对话框的东西,然后在上面放上两个对话框和两个编辑框。对两个编辑框创建两个控件变量。针对两个对话框做两个点击操作,代码如下:
void CfilestreamView::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
// 用屏幕输入内容更新m_Var1 和m_Var2
UpdateData(TRUE);
// 创建文件C:/ARC.ARC
CFile f;
f.Open(_T("c://arc.arc"),CFile::modeCreate|CFile::modeWrite);
// 创建一个CArchive 对象,并将文件与对象关联
CArchive ar( f,CArchive::store);
CString st1,st2;
m_edit1.GetWindowText(st1);
m_edit2.GetWindowText(st2);
// 串行化m_Var1 和m_Var2 到文档
ar st1 st2;
// 关闭文档
ar.Close();
// 关闭文件
f.Close();
}
void CfilestreamView::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
CFile f;
if ( f.Open(_T("c://arc.arc"),CFile::modeRead )== FALSE )
{ MessageBox(_T("Open file ERROR"),_T("ARCH for Windows"));
return;
}
// 创建一个CArchive 对象,并将文件与对象关联
CArchive ar( f,CArchive::load);
CString st3,st4;
// 从对象中抽取数据并赋值给成员变量
ar st3 st4;
m_edit1.SetWindowTextW(st3);
m_edit2.SetWindowTextW(st4);
// 关闭文档
ar.Close();
// 关闭文件
f.Close();
// 更新屏幕显示
UpdateData(FALSE);
}
///////////////////////////////////////////////////
也可以对控件创建两个VALUE型的CString变量,这样就可以直接更简单的来实现了。
关于UpdageData()函数的介绍:
BOOL UpdateData(
BOOL bSaveAndValidate = TRUE
);
//ParametersbSaveAndValidate Flag that indicates whether dialog box is being initialized (FALSE)or data is being retrieved (TRUE).
翻译一下:UpdateData,顾名思义,是用来刷新数据的。
UpdateData(TRUE) -- 刷新控件的值到对应的变量
UpdateData(FALSE) -- 拷贝变量值到控件显示例如,窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode); 将IDC_EDIT1编辑框控件与m_usercode变量做了关联,如果修改m_usercode之后要想对应控件显示更改,则需要调用UpdateData(FALSE);反之在IDC_EDIT1的oneditchanged()中需要加入UpdateData(TRUE);
简单的说,如果Updatedata(TRUE) == 将控件的值赋值给成员变量;
Updatedata(FALSE) == 将成员变量的值赋值给控件;
c++ 字符输入读取 cin.clear()重置输入流 cin.get()锁住屏幕直到获取输入 while(cin) cin.get(ch) 方法返回的是一个cin对象,istream类提供了可以将istream对象转换为bool 当cin出现在需要bool地方,eg:while的测试条件中,将cin对象转换为bool的...
snsn1984 多年研发和团队管理经验,熟悉LLVM、GPU等技术领域,具备公司层面技术管理能力。
相关文章
- javascript实现客户端兼容各浏览器 导出文件
- STM32启动过程--启动文件--分析
- 如何在Linux中将文件编码转换为UTF-8
- 使用Maven管理依赖JAR文件,自定义项目布局,利用ANT生成不同的发布包
- linux /etc目录下文件说明
- python核心编程学习记录之文件和输入输出
- 【OpenCV】—输入输出XML和YAML文件
- Java输入输出流--文件
- 使用OpenSSL生成CSR文件,并申请全球通用SSL证书
- C++文件(夹)选择对话框
- chapter 10 对文件的输入输出
- Linux 如何通过命令查看一个文件的某几行(中间几行或最后几行)
- Shell脚本之九 输入输出重定向和文件包含
- Qt文本读写之一:输入输出设备和文件操作
- namenode磁盘满引发recover edits文件报错