输入输出文件流

首先建立一个单文档视图,记得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) == 将成员变量的值赋值给控件;

时间: 2024-09-13 12:19:45

输入输出文件流的相关文章

详解C++编程中的文件流与字符串流_C 语言

C++文件流类与文件流对象 文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件流是由若干个文件组成的流.文件流本身不是文件,而只是以文件为输入输出对象的流.若要对磁盘文件输入输出,就必须通过文件流来实现. 在C++的I/O类库中定义了几种文件类,专门用于对磁盘文件的输入输出操作. 除了标准输入输出流类istream.ostream和iostream

C++中输入输出流及文件流操作总结_C 语言

本文实例为大家分享了C++中输入输出流及文件流操作笔记,供大家参考,具体内容如下 1.流的控制     iomanip          在使用格式化I/O时应包含此头文件.     stdiostream   用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序 2.类继承关系 ios是抽象基类,由它派生出istream类和ostream类, iostream类支持输入输出操作,iostream类是从istream类和ostream类通过多重继承而派生的类 类ifstrea

c++读写文件流实例程序讲解

 这篇文章主要介绍了c++读写文件流实例,大家参考使用吧 掌握文本文件读写的方法 了解二进制文件的读写方法   C++文件流:     复制代码 代码如下: fstream // 文件流 ifstream // 输入文件流 ofstream // 输出文件流   //创建一个文本文件并写入信息 //同向屏幕上输出信息一样将信息输出至文件 #include<iomanip.h> #include<fstream.h> void main() { ofstream f1("d

从Windows 8内置SmartScreen看文件流

  SmartScreen功能原本是为了保护用户不进入危险或仿冒的网站的,在Windows 8当中,这功能已经被系统接受.如果你打开一个从网络上面下载的程序,就会得到以下提示: 系统会在打开文件的时候检查该文件,如果不符合某些规则就弹出提示框.笔者最开始在使用Windows 8 的时候就被这样的提示迷惑了,认为程序坏掉了.其实是系统对于文件的处理不同了.网络上关于关闭它的方法也就很多,这里不是重点,我们来看看到底是文件的什么地方会让系统认为它不安全. 对于其点击右键,可以发现在属性当中的最下面多

为什么对整个文件流计算MD5比分块慢

问题描述 计算一个文件的MD5和把文件分成n分,计算每块的MD5.为什么对文件流计算的还慢呢?HMACSHA1hmac=newHMACSHA1(BitConverter.GetBytes(HashKey[0]));hashes=hmac.ComputeHash(data);//其中一个文件块,共n块HMACSHA1hmac2=newHMACSHA1(BitConverter.GetBytes(HashKey[0]));hashes=hmac2.ComputeHash(fstream);//计算文

ajax读文件-ajax读取wav文件生成文件流上传到服务器

问题描述 ajax读取wav文件生成文件流上传到服务器 正在着手做一个类似于QQ的语音短信息发送的功能,但是使用html5开发 但是是录音文件,要就录音后发送,无法使用input file 考虑到直接传文件流,但是没用过 求用过的指导一下 解决方案 file控件需要人工选择文件,选择后可以通过file.files属性获取到2进制数据里,结合html5的formdata就可以用ajax上传了 参考:http://www.coding123.net/article/20121128/html5-aj

PHP接收App端发送文件流的方法_php技巧

本文实例讲述了PHP接收App端发送文件流的方法.分享给大家供大家参考,具体如下: 解决思路: 1. 客户端多张图片进行循环上传,同时附带参数,并用一定规则组合生产数据流(图片数据放在最后) 2. 使用数据流进行传输,php服务端用file_get_content('php://input')进行接收 3. 传输完毕后将数据流按照规则分割,取出最后的图片数据,并写入图片文件 示例代码: 以下代码是发送单张图片和参数PHP文件,多张图片可循环调用. <?php /* curl_post.php *

文件流 二进制-C++文件流二进制加解密问题

问题描述 C++文件流二进制加解密问题 最近在编一个加密程序,想通过fstream来对文件进行操作.想用文件流实现在文件中的二进制模二加,求助大神们. fstream finout: finout.open(filename,ios_base::binary):接下来就不知道怎么做了,不想用fwrite

mac-关于使用MA电脑编写java文件流的问题.

问题描述 关于使用MA电脑编写java文件流的问题. 如何编写File路径?mac环境下编写的java.求各位大佬解释啊 解决方案 一样的啊 不就是没有分区啊