在push_back()中将char更改为int *; vector <int>

时间:2016-10-16 17:11:32

标签: c++ vector char int push-back

我有这个问题,我尝试将char更改为int,但没有任何反应。 这是代码:

#include <iostream>
#include <vector>

using namespace std;
vector<int> m,n;

    void my_f()
    {
        bool *quad; quad=new bool; *quad=false;
        if(*quad)
            {
                char *v; v=new char;
                bool *vv; vv=new bool; *vv=false;
                while(!*vv)
                {
                    cin >> *v;
                    if(*v>48 && *v<57)   
                    {*vv=true; m.push_back((int)*v); n.push_back((int)*v);}
                }
                delete v; delete vv;
            }
            else
            {
                char *v,*w; v=new char;w=new char;
                bool *vv; vv=new bool; *vv=false;
                while(!*vv)
                {
                    cin >> *v;cin >> *w; //input: 2 1
                    if(*v>48 && *v<57 && *w>48 && *w<57)
                    {*vv=true; m.push_back(*v); n.push_back(*w); cout <<"si";} 
                    cout << *v << *w << endl; // output: 2 1
                }
                delete v; delete w; delete vv;
            }
            cout << m[0]<<n[0]; // output: 50 49
    }

我在迭代中尝试这个:

if(*v=='0' || *v=='1' || *v=='2' || *v=='3' || *v=='4' || *v=='5' || *v=='6' || *v=='7' || *v=='8' || *v=='9'
           || *w=='0' || *w=='1' || *w=='2' || *w=='3' || *w=='4' || *w=='5' || *w=='6' || *w=='7' || *w=='8' || *w=='9')
{...}

这也在 push_back();

m.push_back(*v); n.push_back(*w);

m.push_back((int)*v); n.push_back((int)*w);

m.push_back(static_cast<int>(*v)); n.push_back(static_cast<int>(*w));

我在 m [0] n [0] 中得到相同的输出,ACSII表值

这不是重复,因为我证明了这个论坛中的所有提示,例如我在下方显示

0 个答案:

没有答案