从CString 到 到数值的转换小方法 (原创)

原创 2005年04月28日 22:19:00

 CString 到 float 的转换 小方法

// 从字符串到浮点数的转换
float StringtoDouble( CString csValue )

// 第一种方法
 LPTSTR  chValue = csValue.GetBuffer( csValue.GetLength() );
 float fValue = atof( chValue );
 csValue.ReleaseBuffer();

 return fValue; 

// 第二种方法
 // CString csNew = "";
 // int nIndex = csValue.Find( '.' );
 // if( nIndex != -1 )
 // {
 //  csNew = csValue.Left( nIndex + 3);
 // }
 // else
 // {
 //  csNew = csValue;
 // }
 // 
 // char chValue[100];
 // wcstombs( chValue, csNew, 100 );
 //
 // return  (float)atof( chValue );
}

 


不知道这两种转换方法是否有问题啊?

最近我写的函数涉及到字符串和数值转换的问题时,考虑到方便我都是添加一个系统函数,不知还有没有更好的解决办法。如下面的函数就是CString类型转换为int类型;转换成float或者double型都是同理,只是调用不同的转化函数(wctomb,wcstombs,atof等)。

static void StringToInt(CString csValue, int& nValue)
{
 LPTSTR  chValue = csValue.GetBuffer( csValue.GetLength() );
 nValue = atoi( chValue );
 csValue.ReleaseBuffer();
}

CString使用起来很方便,但是使用过程中也会遇到一些问题。比如使用函数

WINBASEAPI
DWORD
WINAPI
GetPrivateProfileStringA(
    LPCSTR lpAppName,
    LPCSTR lpKeyName,
    LPCSTR lpDefault,
    LPSTR lpReturnedString,
    DWORD nSize,
    LPCSTR lpFileName
    );

先声明CString csLine = "";

再使用GetBuffer(256)取得一段内存。即csLine.GetBuffer(256)作为替代lpReturnedString的参数。在后面的操作中使用的时候,需要采用csLine.ReleaseBuffer()才能对该字符串使用诸如Left,Right这样的字符串操作。

更多 CString 类型转化的知识 http://www.cnblogs.com/missparad/archive/2005/04/01/129789.html

增强CString类(字符数值自由转换)

// 通用库 // String.h namespace Common { class CString : public string { public: CString(); virt...

数值型和字符型转换,以及string--char*--CString之间的转换

原文:http://blog.sina.com.cn/s/blog_4c8a2a870100qgq7.html C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字...

CString,字符串,整数等相互转换方法

字符串转int int atoi(const char *string); _int64 _atoi64(const char *string); int _wtoi(const wchar_t ...

CString 与数据类型的转换方法

CString 与数据类型的转换方法 通过阅读本文你可以学习如何有效地使用 CString。   CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做...

CString与char[] 的相互转换方法以及结尾乱码问题的分析解决

这是一个很常见的问题,下面记录下我的解决方案。   一、CString 转化成char[]   方法一:运用 CString.GetBuffer(0) 与 strcpy [cpp...

string、wstring、cstring、 char、 tchar、int、dword转换方法

string、wstring、cstring、 char、 tchar、int、dword转换方法     1》string转wstring wstring s2ws(const string...

NDK开发jstring和Cstring转换工具方法(实践有效)

/** 利用Java的String类来完成字符编码转换*/char* Jstring2CStr(JNIEnv* env,jstring jstr) { LOGI("enter CS...
  • JQ_AK47
  • JQ_AK47
  • 2016年12月01日 22:55
  • 822
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从CString 到 到数值的转换小方法 (原创)
举报原因:
原因补充:

(最多只允许输入30个字)