--------------------------------------------html
C#写Windows程序更简单,且跟MFC相似,现切换到C#,缺点就是依赖.Net了。数组
打开一个文件选择框网络
https://www.cnblogs.com/lotusto/p/5767141.html工具
http://www.javashuo.com/article/p-wrntvnck-go.html编码
文本文件的读写:spa
https://www.cnblogs.com/eniac12/p/4398310.html.net
FileStream和StreamWriter/Reader的区别:code
https://www.cnblogs.com/lyd2016/p/6599550.htmlorm
FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但常用StreamReader或 StreamWriter执行这些功能。这是由于FileStream类操做的是字节和字节数组,而Stream类操做的是字符数据。htm
https://blog.csdn.net/sinat_20559947/article/details/49028625
数字转十六进制字符串:255.ToString("X")
https://www.cnblogs.com/xshy3412/archive/2007/08/29/874362.html
--------------------------------------------------------------------
MFC:
有时候要写个小工具给别人用,因此又把MFC用起来了,毕竟作个界面很简单,本文打算用来长期记录一些遇到的小问题和解决方法。
1 mfc选择一个文件,按钮响应中增长:
BOOL isOpen = TRUE; //是否打开(不然为保存)
CString defaultDir;// = L"E:\\FileTest"; //默认打开的文件路径
CString fileName = L""; //默认打开的文件名
CString filter = L"文件 (*.txt)|*.txt||"; //文件过虑的类型
//CFileDialog构造一个CFileDialog对象操做
CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, filter, NULL);
//openFileDlg.GetOFN().lpstrInitialDir = L"E:\\FileTest\\test.txt";
//DoModal显示对话框并使用户能够进行选择
INT_PTR result = openFileDlg.DoModal();
CString filePath;// = defaultDir + "\\test.txt";
if(result == IDOK)
{
//GetPathName返回选定文件的完整路径
filePath = openFileDlg.GetPathName();
}
---------------------------------------------
2 unicode编码下字符串转为整数
long num = 0;
num = _ttoi(temp);
若是不改项目属性中的字符集,默认是unicode编码,字符相关的要加上L或者_T
--------------------------------------
3 长整型转换成字符串:
CString tmp;
tmp.Format(_T("%I64X"),number);
tmp.Format(_T("%I64d"),number);
------------------------------------
4 打开文件
CStdioFile file;
CFileException fileException;
if (!file.Open(filePath, CFile::typeText|CFile::modeReadWrite|CFile::shareExclusive,&fileException))
逐行读取
file.SeekToBegin();
while (file.ReadString(cstrLine))
{
}
// 关闭文件
file.Close();
//-----------------------------------------------
// 打开文件参数项
//-----------------------------------------------
CFile::modeCreate
--- 若是文件不存在则建立,若是文件存在则打开文件并清空文件内容
CFile::modeCreate | CFile::CFile::modeNoTruncate
--- 若是文件不存在则建立,若是文件存在则打开文件并保留文件内容
CFile::shareDenyNone
--- 容许其它进程对文件读写
CFile::shareDenyRead
--- 不容许其它进程对文件进行读操做
CFile::shareDenyWrite
--- 不容许其它进程对文件进行写操做
CFile::shareExclusive
--- 以独占模式打开文件,不容许其它进程对文件进行读写
--------------------------------------
6 AfxMessageBox的响应:
if(IDYES == AfxMessageBox(tips,MB_YESNOCANCEL))
{
exit(0);
}