使用GetModuleFileName() 函数获取当前程序路径,传递参数为 CStringOld.GetBuffer(), 之后使用 CStringNew = CStringOld.Left(CStringOld.ReverseFind('\\')) 获取程序目录, 此时CStringOld 与CStringNew一样。 问题代码: CString strPath,strName; GetModuleFileName(theApp.m_hInstance,strName.GetBuffer(),MAX_PATH);...
使用由GetBuffer返回的指针以将字符直接写入CString对象中。 为ReleaseBuffer对象调用CString以更新所有内部CString状态信息,例如,字符串的长度。 直接修改CString对象的内容后,你必须在调用任何其他ReleaseBuffer成员函数前先调用CString。 将CString对可变自变量函数一起使用 ...
修改的CString内容直接在大多数情况下,应使用 CString 成员函数修改 CString 对象的内容或转换 CString .转换为c样式字符串。具有,如的某些情况,则有意义直接修改 CString 目录,将需要字符缓冲区的操作系统的功能时。GetBuffer 和ReleaseBuffer 方法提供对 CString 对象的内部字符缓冲区的访问并让您直接修改它。下面的...
1:CString -> *char 1)CString转化为*char可以使用CString中的GetBuffer()函数,具体如下: CString string1 = _T("string");char*str = string1.GetBuffer(); 注意的是,在GetBuffer后要使用ReleaseBuffer以更新对象内部数据,否则会发生不可意料的意外。 2)可以使用强制转换。 CString string1 = _T(“string”...
CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程。 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择。如果你准备使用 Unicode 字符,你应该用_ttoi(),它在 ANSI 编码系统中被编译成_atoi(),而在 Unicode 编码系统中编译...
CString s1( "abc" ); CString s2( "abd" ); ASSERT( s1.Compare( s2 ) == -1 ); ASSERT( s1.Compare( "abe" ) == -1 ); CString::CompareNoCase int CompareNoCase( LPCTSTR lpsz ) const; 返回值 字符串一样 返回0 小于lpsz 返回-1 ...
方法三,使用CString::GetBuffer。 如果你需要修改 CString 中的内容,它有一个特殊的方法可以使用,那就是 GetBuffer,它的作用是返回一个可写的缓冲指针。 如果你只是打算修改字符或者截短字符串,例如: CString s(_T("Char test ")); LPTSTR p = s.GetBuffer(); ...
转化成 char* 之一:使用LPCTSTR强制转化 CString 转化成 char* 之二:使用CString对象的GetBuffer方法 CString 转化成 char* 之三: 和控件的接口 CString 型转化成 BSTR 型; BSTR 型转化成 CString 型; VARIANT 型转化成 CString 型; 载入字符串表资源; CString 和临时对象; CString 的效率; 总结 下面我分别...
CString::CompareNoCase int CompareNoCase( LPCTSTR lpsz ) const; 返回值 字符串一样 返回0 小于lpsz 返回-1 大于lpsz 返回1 不区分大小字符 CString::Collate int Collate( LPCTSTR lpsz ) const; 同CString::Compare CString::CollateNoCase
CString strSports(_T("Hockey is Best!")); TCHAR sz[1024]; lstrcpy(sz, strSports); 2、用作可修改字符串。要用传递字符指针的函数修改CString。 方法:使用成员GetBuffer和ReleaseBuffer函数。 如: [cpp]view plaincopy ...