773 名前: 753 [sage] 投稿日: 04/03/26 08:29

結局、以下のようなものを作りました。やれやれ。
template< typename CharT > struct todigit_impl
{
 static inline int cvt( ChatT ch, std::locale const & lc )
 {
  CharT a[] = { ch, '\0' };
  std::locale old = std::locale::global( lc );
  int i = atoi( a );
  std::locale::global( old );
  return i;
};

// wchar_t 版を特殊化
...

template< typename CharT >
inline int todigit( CharT ch, std::locale const & lc )
{
 return todigit_impl< CharT >::cvt( ch, lc );
}

774 名前: デフォルトの名無しさん [sage] 投稿日: 04/03/26 15:36
標準Cライブラリにも 「数字1文字」→「数値」ってなかったけか?なんか以外だ。
775 名前: 774 [sage] 投稿日: 04/03/26 15:37
×以外 → ○意外