std :: stringstream не преобразует строку в Int правильно

0

Я пытаюсь преобразовать формат CharArrayPtr в int, который мне удалось сделать;

    std::string str;

    for(int i = 0; i < numberofvalues; i++)
    {   



        str = cmemblock[i];
        std::stringstream stream;
        stream <<str;
        int n;
        if (!(stream >>n)){

        }

        cout << n<<endl;
        }

Тем не менее, вопрос, который у меня есть, заключается в том, что я должен был cout << str; Он будет отображать символы точно, как они отображаются в файле.txt. К сожалению, после преобразования в формат int результат не так, как ожидается, я продемонстрирую ниже;

cout << str;

Отображает это;

11
22
33
44
55
66
77
88
99

cout << n;

отображает это;

1
1
1
2
2
2
3
3
3
4
4
4
5
5
5
6
6
6
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
9

Я не совсем уверен, почему это происходит, но я верю, что код, который я ввел, неправильно закодирован, чтобы интерпретировать новую строку, возможно?

  • 0
    Я попробую спасибо
  • 0
    Я не могу воспроизвести проблему. Смотрите здесь пример использования вашего кода: ideone.com/Xestb9
Показать ещё 1 комментарий
Теги:
arrays
int
char
stringstream

1 ответ

0
Лучший ответ
for(int i = 0; i < numberofvalues; i++)

Проблема была здесь, это было исправлено с правильной стоимостью и теперь решено.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню