gpt4 book ai didi

c++ - 将 CString 转换为 float 数组

转载 作者:行者123 更新时间:2023-11-30 01:42:04 32 4
gpt4 key购买 nike

我目前正在使用 MFC 构建某个程序,该程序要求用户在 CString(为简单起见,我们称之为 aCString)中输入下面突出显示的一系列数字。

enter image description here

我可以使用“strtok”将字符串或字符数组转换为 float 组没有问题。

但我正在努力将 CString 转换为字符串或字符数组,以便我可以进行前面提到的转换!

-我试过strcpy

strcpy(my_string, (LPCTSTR)aCString);

但是得到了那个错误

char *strcpy(char *,const char *)': cannot convert argument 2 from 'LPCTSTR' to 'const char *'

感谢您的帮助!

最佳答案

CString类模板提供了 Tokenize成员,可用于将输入字符串拆分为单独的标记。然后可以使用 std::stof 将标记转换为浮点值功能:

std::vector<float> ToFloats( const CString& numbers ) {
std::vector<float> buffer;
int start{ 0 };
CString token = numbers.Tokenize( _T( "," ), start );
while ( start != -1 ) {
buffer.push_back( std::stof( { token.GetString(),
static_cast<size_t>( token.GetLength() ) } ) );
token = numbers.Tokenize( _T( "," ), start );
}
return buffer;
}

关于c++ - 将 CString 转换为 float 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40218982/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com