mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-27 15:32:52 +02:00
helpers.cpp: Add itoa() function
Origin commit data
------------------
Commit: 38470a8a80
Author: Michael Liebmann <tuxcode.bbg@gmail.com>
Date: 2016-09-03 (Sat, 03 Sep 2016)
This commit is contained in:
@@ -951,6 +951,38 @@ std::string to_string(unsigned long long i)
|
|||||||
return s.str();
|
return s.str();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* C++ version 0.4 std::string style "itoa":
|
||||||
|
* Contributions from Stuart Lowe, Ray-Yuan Sheu,
|
||||||
|
|
||||||
|
* Rodrigo de Salvo Braz, Luc Gallant, John Maloney
|
||||||
|
* and Brian Hunt
|
||||||
|
*/
|
||||||
|
std::string itoa(int value, int base)
|
||||||
|
{
|
||||||
|
std::string buf;
|
||||||
|
|
||||||
|
// check that the base if valid
|
||||||
|
if (base < 2 || base > 16) return buf;
|
||||||
|
|
||||||
|
enum { kMaxDigits = 35 };
|
||||||
|
buf.reserve( kMaxDigits ); // Pre-allocate enough space.
|
||||||
|
|
||||||
|
int quotient = value;
|
||||||
|
|
||||||
|
// Translating number to string with base:
|
||||||
|
do {
|
||||||
|
buf += "0123456789abcdef"[ std::abs( quotient % base ) ];
|
||||||
|
quotient /= base;
|
||||||
|
} while ( quotient );
|
||||||
|
|
||||||
|
// Append the negative sign
|
||||||
|
if ( value < 0) buf += '-';
|
||||||
|
|
||||||
|
std::reverse( buf.begin(), buf.end() );
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
std::string getJFFS2MountPoint(int mtdPos)
|
std::string getJFFS2MountPoint(int mtdPos)
|
||||||
{
|
{
|
||||||
FILE* fd = fopen("/proc/mounts", "r");
|
FILE* fd = fopen("/proc/mounts", "r");
|
||||||
|
@@ -105,6 +105,8 @@ std::string to_string(unsigned long);
|
|||||||
std::string to_string(long long);
|
std::string to_string(long long);
|
||||||
std::string to_string(unsigned long long);
|
std::string to_string(unsigned long long);
|
||||||
|
|
||||||
|
std::string itoa(int value, int base);
|
||||||
|
|
||||||
inline int atoi(std::string &s) { return atoi(s.c_str()); }
|
inline int atoi(std::string &s) { return atoi(s.c_str()); }
|
||||||
inline int atoi(const std::string &s) { return atoi(s.c_str()); }
|
inline int atoi(const std::string &s) { return atoi(s.c_str()); }
|
||||||
inline int access(std::string &s, int mode) { return access(s.c_str(), mode); }
|
inline int access(std::string &s, int mode) { return access(s.c_str(), mode); }
|
||||||
|
Reference in New Issue
Block a user