文章列表添加SDI指针交互2009-07-0216:25CMyDoc*m_pDoc=(CMyDoc*)((CMainFrame*)AfxGetMainWnd())-GetActiveDocument();CMyView*m_pView==(CMyView*)((CMainFrame*)AfxGetMainWnd())-GetActiveView();SDI:CMainFrame*pMF=(CMainFrame*)AfxGetApp()-m_pMainWnd;//先得到整个框架的指针******=pMF-GetActiveDocument();如果是MDI再加上:CChildFrame*pCF=(CChildFrame*)pMF-MDIGetActive();******=pCF-GetActiveDocument();#includeMainFrm.h#includeChildFrm.h这样的头文件引用不能忘CMainFrame*pFrame=(CMainFrame*)AfxGetApp()-m_pMainWnd;pFrame-m_pLeftView-AddPersonsToTree();类别:单文档sdi|评论(0)|浏览(24)CString,int,string,char*之间的转换2009-06-2417:071.1CString,int,string,char*之间的转换2.string转CString3.CString.format(%s,string.c_str());4.5.char转CString6.CString.format(%s,char*);7.8.char转string9.strings(char*);10.11.string转char*12.char*p=string.c_str();13.14.//CString转std::string15.CStringstr=dlg.GetPathName();16.setlocale(LC_ALL,chs);17.char*p=newchar[256];18.wcstombs(p,str,256);19.m_fileName=p;20.21.1,string-CString22.CString.format(%s,string.c_str());23.用c_str()确实比data()要好.24.2,char-string25.strings(char*);26.你的只能初始化,在不是初始化的地方最好还是用assign().27.3,CString-string28.strings(CString.GetBuffer());29.GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.30.31.32.《C++标准函数库》中说的33.有三个函数可以将字符串的内容转换为字符数组和C—string34.1.data(),返回没有”\0“的字符串数组35.2,c_str(),返回有”\0“的字符串数组36.3,copy()37.38.39.CString互转int40.41.将字符转换为整数,可以使用atoi、_atoi64或atol。42.而将数字转换为CString变量,可以使用CString的Format函数。如43.CStrings;44.inti=64;45.s.Format(%d,i)46.Format函数的功能很强,值得你研究一下。47.48.voidCStrDlg::OnButton1()49.{50.//TODO:Addyourcontrolnotificationhandlercodehere51.CString52.ss=1212.12;53.inttemp=atoi(ss);54.CStringaa;55.aa.Format(%d,temp);56.AfxMessageBox(varis+aa);57.}58.59.sart.Format(%s,buf);60.61.CString互转char*62.63.///char*TOcstring64.CStringstrtest;65.char*charpoint;66.charpoint=givestringavalue;67.strtest=charpoint;68.69.70.///cstringTOchar*71.charpoint=strtest.GetBuffer(strtest.GetLength());72.73.标准C里没有string,char*==char[]==string74.75.可以用CString.Format(%s,char*)这个方法来将char*转成CString。要把CString转成char*,用操作符(LPCSTR)CString就可以了。76.77.78.CString转换char[100]79.80.chara[100];81.CStringstr(aaaaaa);82.strncpy(a,(LPCTSTR)str,sizeof(a));83.2CString类型的转换成int84.CString类型的转换成int85.将字符转换为整数,可以使用atoi、_atoi64或atol。86.87.//CStringaaa=16;88.//intint_chage=atoi((lpcstr)aaa);89.90.91.而将数字转换为CString变量,可以使用CString的Format函数。如92.CStrings;93.inti=64;94.s.Format(%d,i)95.Format函数的功能很强,值得你研究一下。96.如果是使用char数组,也可以使用sprintf函数。97.98.//CStringss=1212.12;99.//inttemp=atoi(ss);100.//CStringaa;101.//aa.Format(%d,temp);102.103.104.数字-字符串除了用CString::Format,还有FormatV、sprintf和不需要借助于Afx的itoa105.106.3char*在装int107.#includestdlib.h108.109.intatoi(constchar*nptr);110.longatol(constchar*nptr);111.longlongatoll(constchar*nptr);112.longlongatoq(constchar*nptr);113.114.4CString,int,string,char*之间的转换115.stringaa(aaa);116.char*c=aa.c_str();117.118.119.cannotconvertfrom'constchar*'to'char*'120.constchar*c=aa.c_str();121.122.5CString,int,string,char*之间的转换123.string.c_str()只能转换成constchar*,124.要转成char*这样写:125.126.stringmngName;127.chart[200];memset(t,0,200);strcpy(t,mngName.c_str());类别:默认分类|评论(0)|浏览(39)VC++中按特定标志字符实现字符串到字符串数组的分割(CString-Cstring[])2009-06-2309:52以前用VC++做过一个关于数值计算方面的小软件,实现了大多数数值算法的GUI演示,在这个小软件中,有两个重要方面:1.数值计算的相关算法;2.将从用户界面中获取的字符串转化为相应的double类型数据,第一个方面的问题由我们大家共同完成,我主要解决第二个问题,这里谈下解决第二个问题的过程。我的思路如下:CString-CString[]-double[]为了调用方便,将所有问题封装到一个类里面:classCStringConvert{public://默认构造函数CStringConvert();CStringConvert(CString_str);CStringConvert(CString_str,int_n);//设置要转换的字符串voidsetString(CString_str);//获取转换后的字符串CStringgetString();//返回分割后的字符串数组CString*StringConvert();//返回分割并转换后的double数组double*StringConvert(CString_str);//返回分割后的字符串D数组//CString*DStringConvert();//返回分割后的doubleD数组//double*DStringConvert(CString_str);//设置数组元素个数voidsetNumber(int_n);//获取数组元素个数intgetNumber();//转换后获取double[]型数组double*getdArray();//转换后获取CString[]型数组CString*getsArray();//转换后获取CString[][]型数组//CString*getsDArray();//转换后获取double[][]型数组//double*getdDArray();//检查字符串的合法性boolStringCheck();boolStringCheck(CString_str);//将CString转换为doubledoubleParseDouble(CString_str);//将\r\n转换为空格CStringParseSpace(CString_str);private:doublem_dx[10000];CStringm_sx[10000];//doublem_dDx[200][200];//CStringm_sDx[200][200];//分割后元素行数introws;//分割后元素个数intn;CStringstr;CStringcr;CStringcl;//根据cl进行分割};#includestdafx.h#includeStringConvert.h#includemath.h#includectype.h#ifdef_DEBUG#definenewDEBUG_NEW#endif//系统初始化CStringConvert::CStringConvert(){this-n=10000;this-cl=;this-cr=\n;this-str=CString(123112233);for(inti=0;i10000;i++){this-m_dx[i]=0.0;this-m_sx[i]=0.0;}}CStringConvert::CStringConvert(CString_str){n=10000;this-cl=;this-cr=\n;str=_str;for(inti=0;i10000;i++){m_dx[i]=0.0;this-m_sx[i]=0.0;}}CStringConvert::CStringConvert(CString_str,int_n){n=_n;this-cl=;this-cr=\n;str=_str;for(inti=0;i10000;i++){m_dx[i]=0.0;this-m_sx[i]=0.0;}}//设置要转换的字符串voidCStringConvert::setString(CString_str){this-str=_str;}//获取转换后的字符串CStringCStringConvert::getString(){returnthis-str;}//设置数组元素个数voidCStringConvert::setNumber(int_n){this-n=_n;}//获取数组元素个数intCSt