如何在第二次转换后,继续使用std::stoi(input,&index)将一个字符串转换为int?

问题描述 投票:0回答:0

我能够将一个字符串转换为两个独立的ints,但我无法找到一种方法使其在第二次转换后继续向下的字符串。这是我的代码。(Log是一个cout函数)

int main()
{
    std::string input;
    std::string numD;
    std::string numF;
    unsigned int index;
    int numDice{};
    int numFaces{};
    int rollTotal{0};
    int addedNumber{0};



    while (1)
    {
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);

        Log("Input your roll (ex. 4d6, 1d20)\nPressing Enter will roll 1d20\n\n");

        getline(std::cin, input);
        if(input == "") {numDice = 1; numFaces = 20; break;}

        numDice = std::stoi(input, &index);

        if (input[index] == 'd') {numFaces = std::stoi(input.substr(index + 1));}
        else {break;}

        break;

    }
c++ string pointers
© www.soinside.com 2019 - 2024. All rights reserved.