Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Parser + Str2Int
#include <iostream> #include <sstream> bool GetNextElement(const char *&From, char *Buffer) { if(From==nullptr) return false; while(*From!='\0'&&*From!=' ') { *Buffer=*From; ++From; ++Buffer; } ++From; *Buffer='\0'; if(*From=='\0') From=nullptr; return true; } int Str2Int(const char *Buffer) { const char *Itr=Buffer; while(*Itr!='\0') ++Itr; --Itr; int Multi=1; int Ret=0; while(Itr>=Buffer) { Ret+=(*Itr-'0')*Multi; Multi*=10; if(*Itr=='-') Ret=-Ret; --Itr; } return Ret; } /* 1253 Ret=('3'-'0')*1+('5'-'0')*10+('2'-'0')*100+('1'-'0')*1000; if(*Itr=='-') Ret=-Ret; */ int main() { const char Script[]="105 2 3 -2 -3 6"; const char *Progress; Progress=Script; //char *Itr_Buffer; char Buffer[20]; int S=0; while(GetNextElement(Progress, Buffer)) { S+=Str2Int(Buffer); std::cout<<"("<<Buffer<<")+"; } std::cout<<"="<<S; }
run
|
edit
|
history
|
help
0
inheritance test
Segmented Sieve
MovConstrAssign4
kap03_09
enums
DFS
stl_sizeof
substr
copy_if c++98
NameTempSpecial2