eine lange string in long konvertieren
-
Hallo ,
ich möchte eine lange string konvertieren in long , aber das klappt nicht
vielleicht kann mir jemand helfen-------------------------------------
#include<iostream>
#include<string>using namespace std;
int main(){
string str = "191410181102";
long number = atol(str.c_str());
cout<<"number :"<<number;
-----------------------------------------output:
number : 2147483647
--------------------------------was muss ich machen ?
danke
-
dein long hat doch nur 32 bit, wie dein int auch. insofern war die ausgabe ganz ok.
-
Hallo,
erstmal Danke für die schnelle Antwort.
ich habe noch eine Frage ,wie kann ich mein String als long haben?ich will das das output so aussieht: number :191410181102
danke
simofet
volkard schrieb:
dein long hat doch nur 32 bit, wie dein int auch. insofern war die ausgabe ganz ok.
-
hat dein compiler nen 64-bit-typ, wum beispiel long long oder __int64?
und hat er entsprechende umwandlungsfunktionen wie atoll()?
ansonsten selber bauen.//ungetestet long long atoll(char* str){ long long result=0; while(*str){ result=result*10+*str-'0'; ++str; } return result; }
-
atoll gibt es übrigens seit C99. Der GCC bietet das aber auch im C++ Modus an, genau wie long long
-
das hat geklappt
vielen Dank Volkrad
-
Volkrad ^^
-no comment- :p