--------------------------------------------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);
}