
No.2ベストアンサー
- 回答日時:
template<typename T> struct sstream;
template<> struct sstream<char>
{
typedef std::istringstream type;
};
template<> struct sstream<wchar_t>
{
typedef std::wistringstream type;
};
short to_short(const CString& s)
{
sstream<TCHAR>::type is( (const TCHAR*)s );
short val;
is >> val;
return val;
}
これでどうでしょうか。
No.3
- 回答日時:
_tcstolを使って、いったんlong型に変換してから範囲チェックをしましょう。
CString str = _T("123");
TCHAR* endptr;
errno = 0;
long l = _tcstol(str, &endptr, 0);
if (errno != 0 || *endptr != _T('\0') || l < SHRT_MIN || SHRT_MAX < l)
{
// エラー処理
}
short result = static_cast<short>(l);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAの自動変換機能?
-
緯度、経度の 10進法と 60進法...
-
なぜ通信には16進数文字列が使...
-
FortranをC++(VC++)へ変換
-
シーケンサ 数字の変換
-
C++からCへのソース変換について
-
10進数をBCDに変換する方法
-
Excel(全シート) → PDF変換を...
-
VBAを使って二進法計算
-
UTF8→ShiftJISに変換したいです!
-
【EXCEL】カナ、ひらがなを英字...
-
ASP.NET SJIS→UTF-8文字コード...
-
NumericUpDownを使用してテキス...
-
WinHelpからHTML Helpに変換
-
ファイルの変換についての質問...
-
bmp→jpgに、jpg→bmpに
-
辞書について
-
3のつく数字と3の倍数のみを表...
-
A/D変換のプログラム
-
VC++での色抽出。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
3のつく数字と3の倍数のみを表...
-
エクセルVBAの自動変換機能?
-
VB.NETをJavaに変換するツール...
-
c++でmatからvectorへの変換の...
-
分を時間に変換するプログラム
-
緯度、経度の 10進法と 60進法...
-
逆コンパイルと逆アセンブルの...
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
10進数をBCDに変換する方法
-
C++からCへのソース変換について
-
VB6で10進数を32進数に変換する...
-
php
-
画像ファイル変換(Tiff→PDF)
-
VB.NETからJavaに変換するツー...
-
PHPで、日本語からアルファベッ...
-
WinHelpからHTML Helpに変換
-
マンセル⇔XYZ,RGB変換式或いは...
おすすめ情報