生活随笔
收集整理的這篇文章主要介紹了
经典排序算法-MFC实现之2:问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
1.如何將接收到的CString類型的數據轉換為int數組? ?????int?parseString(CString?strNum) ?{ ?????CString?c; ??????????CStringArray???sa;? ????? ?????while(1){? ?????????int?pos?=?strNum.Find(",");??????????if(pos>=0){? ?????????????sa.Add(strNum.Left(pos));??????????????strNum?=?strNum.Mid(pos+1);???????????} ?????????else?????????{? ?????????????sa.Add(strNum);???????????????break;? ?????????}? ?????}? ????? ?????int?size?=?sa.GetSize();??????if?(a) ?????{ ?????????delete[]?a; ?????}? ?????a?=?new?int[size];??????? ?????for(int???i=0;i?<sa.GetSize();i++)? ?????{? ??????????????????a[i]?=?atoi(sa.GetAt(i));? ?????}? ??????return?size; ?}? 首先說明解析CString: 用到CString類的一些函數: Find(); Left(); Right(); Mid();
動態創建數組的方法: int *a = new int[10];?? //分配了一個含有10個int型元素的數組,并返回指向該數組第一個元素的指針。 int *a = new int[10](); //對數組元素值做初始化 動態空間的釋放: delete [] a; new int(10)表示創建了
一個int指針,并初始化它的實例的值為10。 new int[10]表示創建一個
10個大小的int指針數組。 int* a = new int(10); cout << a[5] << endl; 但是,為什么可以訪問a[5]呢,輸出0 到底分配給a多少個存儲單元? 訪問了一個非法的內存空間,里面是什么就輸出什么,如果那個位置正好存的是1,就輸出1
類型轉換: string 轉 CString CString.format(”%s”, string.c_str()); char 轉 CString CString.format(”%s”, char*); char 轉 string string s(char *); string 轉 char * char *p = string.c_str(); CString 轉 string string s(CString.GetBuffer()); 1,string -> CString CString.format(”%s”, string.c_str()); 用c_str()確實比data()要好. 2,char -> string string s(char *);
只能初始化,在不是初始化的地方最好還是用assign(). 3,CString -> string string s(CString.GetBuffer());
GetBuffer()后一定要ReleaseBuffer(),否則就沒有釋放緩沖區所占的空間. 《C++標準函數庫》中說的 有三個函數可以將字符串的內容轉換為字符數組和C—string 1.data(),返回沒有”\0“的字符串數組 2,c_str(),返回有”\0“的字符串數組 3,copy() 將字符轉換為整數,可以使用atoi、_atoi64或atol。
而將數字轉換為CString變量,可以使用CString的Format函數。如 CString s; int i = 64; s.Format(”%d”, i) Format函數的功能很強,值得你研究一下。 CString互轉char* ///char * TO cstring CString strtest; char * charpoint; charpoint=”give string a value”; strtest=charpoint; ///cstring TO char *
charpoint=strtest.GetBuffer(strtest.GetLength()); 標準C里沒有string,char *==char []==string 可以用CString.Format(”%s”,char *)這個方法來將char *轉成CString。要把CString轉成char *,用操作符(LPCSTR)CString就可以了。 CString轉換 char[100] char a[100]; CString str(”aaaaaa”); strncpy(a,(LPCTSTR)str,sizeof(a));
轉載于:https://blog.51cto.com/shpshao/453682
總結
以上是生活随笔為你收集整理的经典排序算法-MFC实现之2:问题的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。