プログラムの小さい便利関数(大文字小文字変換、大文字にして比較、数字の桁数を返す、等々)
作っておけば、後々便利に使える、C++ の小っちゃい関数群、その1。
#include
//配列の個数を返すマクロ関数
#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
//引数にした変数を変数名を示す文字列リテラルとして返すマクロ関数
#define STR(var) #var
/// string 文字列を大文字にしてから比較する
/// true:両者の大文字表記が等しい場合
bool str_stringL(std::string str1, std::string str2)
{
STRING_TO_UPPER(str1)
STRING_TO_UPPER(str2)
if (str1==str2){
return true;
}
return false;
}
///数値の桁数を返す(割り算式)
unsigned int countDigit(unsigned long number)
{
unsigned long n_digit = 0; //桁数
while (number != 0){
number = number/10;
n_digit++;
}
return n_digit;
}
///数値の桁数を返す(文字数カウント式)
unsigned int countDigitByStr(unsigned long number)
{
return std::to_string(number).length();
}