MFC写入文件的尴尬——让ofstream流行起来
来源:互联网 发布:特蕾莎修女知乎 编辑:程序博客网 时间:2024/04/20 06:30
ofstream对文件进行读写
最近遇到一个问题:将MFC界面中的数据用.log程序日志的形式存储起来。使用链表对数据进行存储是比较正常的选择,但是对于C++的强大我认为不应该置之不理,于是决定使用ofstream对文件进行写操作。
但是结果真的很坑,除汉字外其他数据都是乱码。原本以为是编译器的编码格式出了问题,但是,经过多方排除法,发现不是这样的。
其实是CString的原因,ofstream能写入的需要char *,这需要对其进行转化。
CString转换为char *网上的一些真的好坑。
实践之后才知道CString 有CStringA和CStringW两种。
ANSII 和Wide宽字节。
对于UNICODE编码的编译器来说,简直噩梦,各种格式转换。。。
CStringA Test;
char *test;
test= Test.GetBuffer();
只有CStringA才行,如果是CStringW还需要转换为CStringW。
C++的文件操作函数对输入输出流进行处理,真的很强大。
补充一:OnLvnItemchangedList函数不响应
MFC ListControl View外观设置 的“陷阱”
默认情况下,如果你将ListControl控件的view设置为Report(报表格式)
在设置响应函数OnLvnItemchangedList时会出现无法响应的情况,原本以为是没有将singal selection(单选)设置为true,后来发现view设置为icon就可以响应。
其实这里有个“陷阱”,属性中的view使用icon,但是要在代码中设置为Report。手动添加,在初始化界面的代码里添加即可
CListCtrl.ModifyStyle(0, LVS_REPORT);
之后OnLvnItemchangedList可以正常使用,还有一个方法就是添加单击事件。总之就是希望大家不要掉坑里,我把自己的脱坑经验拿出来晒晒,有点low,但出发点很高大。
- MFC写入文件的尴尬——让ofstream流行起来
- HTML5 — 让拖放变的流行起来
- HTML5 — 让拖放变的流行起来
- ofstream写入csv文件
- ofstream的使用方法 C++文件写入、读出函数(转)
- ofstream的使用方法--C++文件写入、读出函数(转)
- C++ 标准文件的写入读出(ifstream,ofstream)
- C++文件写入、读出函数,ofstream的使用方法
- C++读取写入.txt文件(ifstream/ofstream)—读取指定行,修改指定行,复制文件,清除文件,统计文件行数
- C++读取写入.txt文件(ifstream/ofstream)—读取指定行,修改指定行,复制文件,清除文件,统计文件行数
- 沟通——让你的团队动起来
- 让你的程序“飞”起来——性能优化
- ofstream的使用方法--超级精细。C++文件写入、读出函数(转)
- ofstream的使用方法--超级精细。C++文件写入、读出函数(转)
- MFC .ini文件的读取与写入
- MFC文件的写入以及写出????
- 虚拟化趋势是否会让容错服务器流行起来
- ofstream文件输出流把二进制数据写入文件
- Getting this error message: dbModel read resource does not implement Zend_Db_Adapter_Abstract
- __thread
- Sping MVC 入门
- Html5 css reset
- Java中的ReentrantLock和synchronized两种锁定机制的对比
- MFC写入文件的尴尬——让ofstream流行起来
- pthread_key_create函数
- servlet是线程安全的吗
- weblogic问题整理
- jquery mobile 入门5 (预加载与缓存页面)
- 软工大作业·源物语(一)
- 【Java开发者自学笔记】从A至Z的路径规划
- NSDictionary转换成JSON字符串
- Android VectorDrawable与SVG