2
我想讓代碼允許用戶輸入一個非常大的數字「大於正常的」int「的大小,所以我試圖讓用戶作爲一個字符串輸入,並從字符串中獲取每個值,並將其傳遞給一個int,例如s="3786473646768"
,這樣int就會將每個值存入一個向量中並將其保存到一個向量中。不相等,它給了我一個窗口說:「表達式:字符串標超出範圍」 任何幫助,請錯誤「表達式:字符串下標超出範圍」
#include "stdafx.h"
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int val1=0,val2=0,val3=0,val4=0;
string i,p;
vector <int>add;
vector <int>sub;
cout<<"Enter a number: "<<endl;
cin>>i;
int sizei=i.length();
cout<<"Enter a number: "<<endl;
cin>>p;
int sizep=p.length();
for (int n=0; n<sizei; n++)
{
val1=int(i[n]);
val1=val1-48;
val2=int(p[n]);
val2=val2-48;
val3=val1+val2;
val4=val1-val2;
add.push_back(val3);
sub.push_back(val4);
}
cout<<"\n";
for(unsigned int a=0;a<add.size();a++)
cout<<add.at(a);
cout<<"\n";
for(unsigned int a=0;a<sub.size();a++)
cout<<sub.at(a);
system("pause");
return 0;
}
噢是的..我沒有意識到這一點 非常感謝你真的幫助! – SUE