преобразовывать символ в строку

Здравствуйте? Я хочу знать, как преобразовать символ в строку "

Это мой код C

    string firSen;
    int comma1=0;
    cout<<"Please write your sentence"<<endl;
    getline(cin,first);
    int a=firSen.first("string");

    for(i=a;firSen[i] != ',';i++)
        comma1=i;
    cout<<firSen[comma1-3]<<firSen[comma1-2]<<firSen[comma1-1]<<endl;

Я напишу "Строка 100s, спасибо",

Я знаю firSen [comma1-3] = 1, firSen [comma1-2] = 0, firSen [comma1-1] = 0 для типа char.

И я хочу поместить эти символы в строку (как 1,0,0 в строку из 100), потому что я хочу использовать функцию atoi....

Вы знаете, как преобразовать символ в строку?

-2
20 нояб. '14 в 12:02
источник поделиться
2 ответа

Вы можете использовать std::istringstream вместо atoi. Что-то вроде этого:

std::istringstream ss(firSen.substr(comma1-3)); int val; ss >> val;

+1
20 нояб. '14 в 12:09
источник

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

std::string number(firSen, comma1-3, 3);

и преобразовать его в целочисленный тип с использованием функций преобразования С++ 11:

int n = std::stoi(number);

или, исторически, поток строк:

int n;
std::stringstream ss(number);
ss >> n;

или, если вы хотите быть действительно старой школой, библиотека C

int n = std::atoi(number.c_str());

Существуют и другие способы построения строк. Вы можете инициализировать его из списка символов:

std::string number {char1, char2, char3};

Вы можете добавлять символы и другие строки:

std::string hello = "Hello";
hello += ',';
hello += ' ';
hello += "world!";

или используйте поток строк, который также может форматировать числа и другие типы:

std::stringstream sentence;
sentence << "The string is " << 100 << ", thank you.";
+1
20 нояб. '14 в 12:19
источник

Посмотрите другие вопросы по меткам или Задайте вопрос