std :: stringstream没有正确地将字符串转换为Int

时间:2014-03-23 16:54:39

标签: c++ arrays char int stringstream

我正在尝试将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

我不完全确定为什么会发生这种情况,但我相信我输入的代码编码不正确以解释新行?

1 个答案:

答案 0 :(得分:0)

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

问题出在这里,这被修改为正确的值,现在已经解决了。