日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

经典排序算法-MFC实现之2:问题

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 经典排序算法-MFC实现之2:问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1.如何將接收到的CString類型的數據轉換為int數組?
  • //自定義解析輸入的字符串 ?
  • /** ?
  • *???傳遞進去一個CString變量 ?
  • *??返回int數組的大小 ?
  • */?
  • int?parseString(CString?strNum) ?
  • { ?
  • ????CString?c; ?
  • ????//解析strNum ?
  • ????CStringArray???sa;? ?
  • ???? ?
  • ????while(1){? ?
  • ????????int?pos?=?strNum.Find(",");?//根據,找到第一個數據 ?
  • ????????if(pos>=0){? ?
  • ????????????sa.Add(strNum.Left(pos));?//取出第一個數據,添加到CStringArray中 ?
  • ????????????strNum?=?strNum.Mid(pos+1);??//將第一個數據刪除掉 ?
  • ????????} ?
  • ????????else?
  • ????????{? ?
  • ????????????sa.Add(strNum);??//將最后一個數據添加到CStringArray中 ?
  • ????????????break;? ?
  • ????????}? ?
  • ????}? ?
  • ???? ?
  • ????int?size?=?sa.GetSize();?//得到所有數據的數目 ?
  • ????if?(a) ?
  • ????{ ?
  • ????????delete[]?a; ?
  • ????}? ?
  • ????a?=?new?int[size];??//動態創建int數組 ?
  • ???? ?
  • ????for(int???i=0;i?<sa.GetSize();i++)? ?
  • ????{? ?
  • ????????//通過atoi(CString?cs)方法將CString轉換為int數據,并賦給int數組 ?
  • ????????a[i]?=?atoi(sa.GetAt(i));? ?
  • ????}? ?
  • ?
  • ????return?size; ?
  • }?
  • 首先說明解析CString 用到CString類的一些函數: Find(); Left(); Right(); Mid(); 動態創建數組的方法: int *a = new int[10];?? //分配了一個含有10int型元素的數組,并返回指向該數組第一個元素的指針。 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:问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。