掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
_stprintf_sの第2引数 (ID:65541)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
同じ_stprintf_sを使うにしても前述どおり引数の型に依存します。 たとえば、 TCHAR str[256]; である場合 _stprintf_s(str, _T("%d"), 10); でも _stprintf_s(str, sizeof(str) / sizeof(str[0]), _T("%d"), 10); でもどちらでもOKですが、 TCHAR str[256]; TCHAR* p = str; // もしくは p = new TCHAR[256]; 等 である場合に第一引数にpを指定するとTCHAR配列型ではなくTCHARポインタ型であるため _strprintf_s(p, 256, _T("%d"), 10); のパターンの呼び出ししかできません。 (C言語のみの場合はtemplate自体がないのでサイズを指定するしかない) おそらく、以前はサイズを指定しなければならなかったというのは、 第一引数にTCHAR配列型ではなく、TCHARポインタ型を指定していたのではないのでしょうか? >自動的にテンプレート宣言が行われる場合と、そうでない場合があるのでしょうか は、C++言語の場合同じ関数名でも引数の型や数が違えば違う関数として 解釈されるので、自動的に宣言が増えるとかそういうことはないと思われます。 (あるとすれば、C言語かC++言語かだけでしょう。)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.