как скопировать часть массива c++

Всем привет Нужна помощь задача такая Юзер вводит строку с таким знаком _ и ее нужно разделить Пример user_harry А вывести user harry Это я сделала но проблемка в Другом как я понимаю Нооо не могу понять в чём .Нужно эти два слова разделённые тобишь user harry переписать в два массива .И что ? Помогите .Помощь с кодом не нужна

#include <iostream>

using namespace std;
int main() {
     
    string user;

    cout << "-> " << endl;
    cin >> user;
     int len = user.length();
    int myIndex;
    string mssUser[len], priceTovar[len], nameTovar[len];

    for (int i = 0; i < len; i++) {
        mssUser[i] = user[i];
         
    } 
    for (int i = 0; i < len; i++) {
        if (mssUser[i] == "_") {
            myIndex = i;
        }
    }
 /*
    for (int i = 0; i < myIndex; i++)
    {
        mssUser[i] = priceTovar[i];     

    }
    for (int i = myIndex; i < len; i++)
    {
         mssUser[i] = nameTovar[i];

    }
    */  
    /*2+2=4
    */
    for (int i = 0; i < len; i++)
    {
           if (myIndex <=nameTovar)
            {
               mssUser[i] = nameTovar[i];
           }

           else
           {
                mssUser[i] = priceTovar[i];
            }
    }
    for (int i = 0; i < myIndex; i++)
    {
        cout << nameTovar[i];
    }
    cout << endl;
    for (int i = myIndex; i < len; i++)
    {
        cout << priceTovar[i];
 
    }
 
 }

Ответы (1 шт):

Автор решения: Harry

Вот примерное решение вашей задачи...

int main()
{
    string user;
    cout << "-> ";
    cin >> user;
    string a, b;
    if (size_t pos = user.find('_'); pos != user.npos)
    {
        a = user.substr(0,pos);
        b = user.substr(pos+1);

        cout << a << "\n" << b;
    }
    else
    {
        cout << "No _ in input\n";
    }
}
→ Ссылка