Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int atoi(char* string)
- {
- int pos = 0;
- int result = 0;
- int factor = 1;
- char letter;
- if (*string == '-')
- {
- factor = -1;
- string++;
- }
- while (*(string+pos)!='\0') pos++;
- while (pos>0)
- {
- letter = *(string+pos-1);
- if (letter < '0' || letter > '9')
- return 0;
- result += (letter - '0') * factor;
- factor *= 10;
- pos --;
- }
- return result;
- }
- char* strcat(char* str1, char* str2)
- {
- int lenstr1 = strlen(str1);
- int lenstr2 = strlen(str2);
- char* result = (char*)malloc(lenstr1+lenstr2);
- char* pos = result;
- while(lenstr1>0)
- {
- *pos++ = *str1++;
- lenstr1--;
- }
- while(lenstr2>0)
- {
- *pos++ = *str2++;
- lenstr2--;
- }
- return result;
- }
- char* basename(char* path)
- {
- char* p = path+strlen(path)-1;
- while (p > path)
- {
- if(*p == '/')
- return p+1;
- p--;
- }
- return path;
- }
- int countones(int number)
- {
- int count = 0;
- int pattern = 1;
- while (pattern <= number)
- {
- if ((number & pattern) > 0)
- {
- count++;
- }
- pattern *= 2;
- }
- return count;
- }
- unsigned int rightrotate(unsigned int number, int count)
- {
- unsigned int leftover = 0;
- while(count-- > 0)
- {
- leftover = number << (sizeof(unsigned int)*8-1);
- number = (number >> 1) | leftover;
- }
- return number;
- }
Add Comment
Please, Sign In to add comment