Ich schreibe in C++ und ich habe eine Zeichenfolge. Ich möchte überprüfen, ob diese Zeichenfolge nur Zahlen ist, und wenn es ist, möchte ich den Typ zu langen int ändern.string mit Zahlen ändern Sie den Typ zu lang int
stringT = "12836564128606764591";
bool temp = false;
for(char& ch : stringT)
{
if(!isdigit(ch))
{
temp=true;
break;
}
}
if(temp != true)
{
itm = new Item_int((long long) strtoll(stringT.c_str(), NULL, 0));
std::cout << " itm:" << *itm << std::endl;
}
aber das Ergebnis von Druck ist: 9223372036854775807
Was genau 'Item_int' ist? – DimChtz
bitte über [MCVE] lesen. Sie den Code hier zeigen Da niemand zu sagen in der Lage, genau, warum Sie diese Ausgabe erhalten.Wenn es nicht relevant ist, können Sie nur die 'Item_int' aus dem Beispiel entfernen – user463035818