Hi all..
i have this code here..
but when i compile it this error msg appear to me :Code:#include <windows.h> #include <iostream.h> #include <tchar.h> //convert the string to number //udata is string //udatalen is length of string //base is numerical base eg. for decimal it is 10 // for hex it is 16 //largest base supported here is upto 36 int __fastcall StrToNum(const TCHAR *udata, int udatalen, int base) { long index; const TCHAR numdigits[] = TEXT("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"); long digitValue = 0; long RetVal = 0; TCHAR digits[sizeof(numdigits)+1]; TCHAR *dataVal; TCHAR data[512] ; //copy the data to our variable _tcscpy(data, udata); //convert it to upper case _tcsupr(data); ZeroMemory(digits, sizeof(digits)); //copy the number of digits supported by base in digits _tcsncpy(digits, numdigits, base); for(index = 0; index < udatalen; index++) { //is the number there dataVal = _tcschr(digits, data[index] ); if(dataVal != 0 ) { //if it is subtract where to start point digitValue = long(dataVal - digits); //increment Retval with digitvalue RetVal = RetVal * base + digitValue; } } //return the result return RetVal; } TCHAR* __fastcall NumToStr(TCHAR *RetData, long number, int base) { long index = 0; const TCHAR numdigits[] = TEXT("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"); long digitValue = 0; TCHAR digits[sizeof(numdigits) + 1]; TCHAR RetVal[512]; TCHAR CurVal = 0; ZeroMemory(RetVal, sizeof(RetVal)); // only base supported are from 2 to 36 if(base < 2 || base > 36 ) return NULL; ZeroMemory(digits, sizeof(digits)); _tcsncpy(digits, numdigits, base); while(number) { digitValue = number % base; number = number base; RetVal[index++] = digits[digitValue]; } //since string we have got is in reversed format //eg 100 will be 001 so we have to reverse it //and put the value in our variable ZeroMemory(RetData, _tcslen(RetVal)+1); int i = 0; for(index = _tcslen(RetVal) - 1; index > -1; index--) { //start reversing RetData[i++] = RetVal[index]; } //return the result return RetData; } //our main function int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { TCHAR Data[128]; ZeroMemory(Data, sizeof(Data)); //convert a number to string NumToStr(Data, 1123, 10); //now again convert string to number and see the result cout << StrToNum(Data, _tcslen(Data), 10) << endl; return 0; }
syntax error : missing ';' before identifier 'base'
i've cheaked the place where it said that the ";" is missing but it's not!
so pls if any1 can help me..
and thank you very much![]()



LinkBack URL
About LinkBacks



