如何计算“。”之前的符号符号并将整个 char[] 拆分为 C++ 中的 2 个数组?

How to count symbols before '.' symbol and split entire char[] into 2 arrays in c++?

我希望我的函数读取一个 char[] 并将其拆分为 2 个数组。两个数组都是一个大数字,第一个数组用于该数字 int 值,第二个数组用于 double 值。我必须使用 2 个数组,因为这个数字可以是二进制、十进制、八进制或十六进制。

void Read(int place[], int &size, int &type, int placedot[], int &sizedot, int &typedot) 
{
    char reader[limit];

    cin >> reader;

    size = 1;

    while (reader[size] == '.' || size != strlen(reader)) 
    {
        size++;
        cout << "LOL";
    }

    cin >> type;
    cout << size;

    typedot = type;

    for (int i = 0; i<size; i++) 
    {
        switch (reader[i]) 
        {
            case '0': place[i] = 0; break;
            case '1': place[i] = 1; break;
            case '2': place[i] = 2; break;
            case '3': place[i] = 3; break;
            case '4': place[i] = 4; break;
            case '5': place[i] = 5; break;
            case '6': place[i] = 6; break;
            case '7': place[i] = 7; break;
            case '8': place[i] = 8; break;
            case '9': place[i] = 9; break;
            case 'A': place[i] = 10; break;
            case 'B': place[i] = 11; break;
            case 'C': place[i] = 12; break;
            case 'D': place[i] = 13; break;
            case 'E': place[i] = 14; break;
            case 'F': place[i] = 15; break;
        }
    }
}
#include <iostream>
#include <string>

int main()
{
    std::string str = "3423432432.32445654576654578978905";
    std::string strInt;
    std::string strDec;

    int i = 0;

    while('.' != str[i])
        strInt += str[i++];

    for(++i; i < str.length(); i++)
        strDec += str[i];


    std::cout << strInt << std::endl << strDec << std::endl;

    // now you have the integer part and the decimal part as strings so convert each of them to int

    std::cout << std::endl;
    return 0;
}