mirrorsv 2023-03-10 23:33 采纳率: 50%
浏览 83
已结题

C++中char数组变成float数组

C++代码将char数组char[]中的150.11,160.12,17.123,155.1变成float数组,float[]={150.11,160.12,17.123,155.1}形式

  • 写回答

10条回答 默认 最新

  • 「已注销」 2023-03-10 23:52
    关注

    参考GPT和自己的思路:你可以使用C++的字符串流(stringstream)来完成这个转换。具体的方法是将char数组中的字符串逐个读取出来,然后将其转换为float类型,最终将转换后的float值存入float数组中。

    下面是一个示例代码:

    #include <iostream>
    #include <sstream>
    
    using namespace std;
    
    int main() {
        char charArray[] = "150.11,160.12,17.123,155.1";
        float floatArray[4];
    
        stringstream ss(charArray);
        string token;
        int i = 0;
        while (getline(ss, token, ',')) {
            floatArray[i++] = stof(token);
        }
    
        for (int j = 0; j < 4; j++) {
            cout << floatArray[j] << " ";
        }
    
        return 0;
    }
    
    
    

    这个代码会将char数组中的字符串按照逗号分隔符进行分割,并将分割后的子字符串转换为float类型,并存入float数组中。最后输出转换后的float数组。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月10日