strcpy_sここで定義したhttps://msdn.microsoft.com/en-us/library/td1esda9.aspx - (2つの引数を持つもの)strcpyをここで定義したhttp://en.cppreference.com/w/c/string/byte/strcpy - (最初のもの)と安全に置き換えることができるかどうかを知りたいと思います。そうでなければ、の最も近いバージョンはstrcpy 012を置き換えるために使用できるstrcpyですか?strcpyはstrcpy_sと等価です
0
A
答えて
3
bounds-checked functionsには、strcpy_s()
が追加されています。だから、移植性が心配ならば、C11準拠のコンパイラがあれば大丈夫です。 C11標準の「制約ハンドラ」は、Microsoft CRTの「無効なパラメータハンドラ」とわずかに異なりますので、カスタムハンドラをインストールする場合は、いくつかの調整が必要な場合があります。
これをすべて置き換えるには、明らかに理由があるため、strcpy()
に置き換えることはできません。strcpy()
は境界チェックされていません。 strlen()
を使用して独自の境界チェックを行うか、strncpy()
,を使用する必要がありますが、strncpy()
の動作は異なるです(具体的には、送信元文字列が宛先に収まらない場合、宛先バッファはNULLで終了しません)。
関連する問題
- 1. XOR等価とは
- 2. flickrはsource.unsplash.comと等価です
- 3. 等価クラスとは何ですか?
- 4. 等価は
- 5. "SH -x" と等価
- 6. 'module.exports = {};'と等価ですpostcss.config.jsのes6で?
- 7. 等価オブジェクト=等価ハッシュコードの結果、
- 8. 等価
- 9. 等価
- 10. Delphi型等価と型の等価構文
- 11. jQuery $ .mapの等価な等価物ですか?
- 12. mysqliのmysql_resultと等価です。
- 13. QMLのQString :: arg()と等価です。
- 14. cakephpのMYSQL 'SELECT INTO'と等価です
- 15. XamarinのNSDataのNSString.CreateNative()と等価です
- 16. ruby/railsのArray.someと等価です
- 17. V8のSpiderMonkeyのキャッチと等価です。
- 18. TensorFlowのnumpy.linalg.normと等価です
- 19. smarty {if $ foo}がisset()と等価です
- 20. Clojureのマップと等価性
- 21. AndroidのRelativeLayoutと等価アライメント
- 22. JAXBオブジェクト - ハッシュコードと等価
- 23. DTDとXMLSchemasの等価性
- 24. idxmax()pandasとの等価
- 25. 等価とハッシュコードのオーバーライド
- 26. スウィフトオプションと等価演算子
- 27. トリプル等価式評価
- 28. PHPのsession_start()は等価ですか?
- 29. Xamarin.iOSの等価CGPointZeroは何ですか?
- 30. VB.NETでa:=(コロンは等価)とは何ですか?
まあ 'strcpy_s'には、あなたがねじ込むことができる1つの追加パラメータが含まれています –
あなたの目標は何ですか?あなたは確かにすることができますが、なぜそれが最初にそこにあったのかわからない場合、 'strcpy_s'を' strcpy'に置き換えてはなりません。 –
できますか?はい。あなたは安全にそうすることができますか?さて、より安全な機能を安全性の低い機能に置き換えることを考えれば、私は「いいえ」と言います。 –