C ++ присваивает элемент строки новой строке - PullRequest
0 голосов
/ 01 июня 2011

Я пытаюсь присвоить фрагмент строки новой строковой переменной. Теперь я довольно новичок, так что дольше, но легче для понимания объяснения являются лучшими для меня. В любом случае, как я пытаюсь это сделать, это так:

string test = "384239572";
string u = test[4];

Полный код того, что я пытаюсь сделать, таков:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
string test = "384239572";
string u = test[4];
int i = 0;
istringstream sin(u);
sin >> i;
cout << i << endl;
return 0;
}

Хотя в верхней части я, кажется, жалуюсь, что я там выставил. Итак, как я могу взять небольшую часть строки из строки и присвоить ее новой строке? Заранее большое спасибо! Если вы знаете какие-либо хорошие ссылки или что-нибудь об этом, это будет также оценено!

Ответы [ 3 ]

4 голосов
/ 01 июня 2011

использовать подстроку,

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
    string test = "384239572";
    string u = test.substr(4,1);
    cout << u << endl;
    return 0;
}
3 голосов
/ 01 июня 2011

Вы можете использовать одну из строковых конструкторов

string u(1,test[4]);

РЕДАКТИРОВАТЬ: 1 указывает количество раз, чтобы повторить тест символа [4]

Inсвой код вы пытаетесь присвоить char объекту string.

2 голосов
/ 01 июня 2011

В классе string есть метод substr(), который был бы здесь полезен:

// Substring consisting of 1 character starting at 0-based index 4
string u = test.substr(4, 1); 

. Он хорошо подходит для подстрок любой длины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...