問題タブ [strsafe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
829 参照

string - _vscwprintfの安全な代替手段

MSVCでは、多くの文字列関数が元のバージョン、安全なバージョン、およびstrsafeバージョンを提供します。たとえば、、、sprintfおよびsprintf_sStringCchPrintfすべて同等であり、安全性が向上します(ある程度のメトリック)。

今、私はそれを行うコードを少し持っています:

正しいサイズのバッファを割り当てるため。

strsafe関数を調べていると、の代替案が見つかりましたが、の代替案は見つかり_vsnwprintf_sませんでした_vscwprintf。グーグルのチェックは何も返さなかったようです。

そのコードのビットを書くためのstrsafeな方法、または私が欠けている両方の代替関数がありますか、または元の関数とstrsafe関数を混合することは許容されますか?(現在の方法については、すべてのルールがPREfastの/ w4で、安全上の警告は表示されません)

0 投票する
2 に答える
686 参照

c - 文字列セーフ関数とセキュリティ強化 CRT

StringCch* 関数は、CRT 文字列関数の安全なバージョンよりも安全と見なされますか?

StringCchCatW は wcscat_s よりも安全ですか? または StringCchCopyW 対 wcscpy_s ですか?

0 投票する
2 に答える
13796 参照

c++ - MinGW に strsafe.h はありませんか? 代わりに何を使用しますか?

ここから最初のスニペットをコンパイル: http://msdn.microsoft.com/en-us/library/ms682499(VS.85).aspx

与えます:d:\!TC\cpp\control.cpp:4:21: fatal error: strsafe.h: No such file or directory compilation terminated.

0 投票する
1 に答える
3527 参照

c++ - StringCchPrintf を使用して部分文字列から文字列を作成する

エラーメッセージからの部分文字列から文字列を作成しようとしています:

%s秒が の値に置き換えられることを期待していましたerror_msgが、出力は次のとおりです。

The error is: ☐☐a

部分文字列が表示されるように上記のコードを変更するにはどうすればよいですか?

EDIT1 次のことも試しましたが、再びボックスが表示されます。

0 投票する
1 に答える
972 参照

c++ - 説明されているように、RtlStringCbPrintf は ntstrsafe.h にありません。

Winsock Kernel でRtlStringCbPrintfを使用しようとしています。Ntstrsafe.h をインクルードしましたが、コンパイラでエラーが表示されます

RtlStringCbPrintfAまたはRtlStringCbPrintfWを使用すると、コンパイルされます。ジェネリック バージョンを使用できないのはなぜですか? Ntstrsafe.h を見ると、RtlStringCbPrintfARtlStringCbPrintfWのプロトタイプ宣言が表示されますが、コメントでは参照されていますが、RtlStringCbPrintfの宣言はありません。Character Set プロパティが使用するバージョンを選択するように汎用フォームを使用できないのはなぜですか? My Character Set プロパティがUse Multi-Byte Character Set に設定されている

0 投票する
2 に答える
153 参照

c++ - StrSafe 関数 (StringCbPrintf_lW) のロケール対応バージョンが見つかりません

私たちは (誤って) StringCbPrintfW を使用してデータベース クエリを作成しましたが、これはカンマを小数点記号として使用するすべてのロケールで惨めに失敗しました。修正は簡単ですよね?ロケールを取る StringCbPrintf_lW も strsafe.h で定義されています。どちらも次のように定義されています。

したがって、ロケールを作成し、StringCbPrintfW を StringCbPrintf_lW に置き換えるだけです。

Intellisense は満足していますが、GoToDefinition は満足していますが、ClCompile はそうではありません。私は得続けます

エラー C3861: 'StringCbPrintf_lW': 識別子が見つかりません

何が間違っているのですか?

0 投票する
1 に答える
794 参照

opencv - Mingw が OpenVC ライブラリのコンパイル中にファイル strsafe.h を見つけられない

OpenCV ライブラリを試してみたいのですが、ビルド プロセス中に問題が発生しました。私はMingwコンパイラを使用してWindows 10を使用しています。しばらくしてコマンドmingw32-makeを起動すると、次のエラーが表示されます。

C:\Github\opencv\modules\videoio\src\cap_dshow.cpp:337:21: fatal error: strsafe.h: No such file or directory #include <strsafe.h> ^ compilation terminated. modules\videoio\CMakeFiles\opencv_videoio.dir\build.make:187: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj' failed mingw32-make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dshow.cpp.obj] Error 1 CMakeFiles\Makefile2:4340: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed mingw32-make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2 Makefile:159: recipe for target 'all' failed mingw32-make: *** [all] Error 2

ここに画像の説明を入力

問題のあるファイルはcap_dshow.cppであり、コンパイラは、ヘッダー ファイルstrsafe.hが見つからないと言います。C:\MinGW\include フォルダー内にこのファイルは存在せず、どこにあるのかわかりません。

「MinGW Installation Manager」というツールを使用して MinGW コンパイラ (およびその他のもの) をインストールしました。このツールを使用すると、他のライブラリもインストールできますが、これらのライブラリにstrsafe.hファイルが含まれているかどうかはわかりません。

ここに画像の説明を入力

私の質問はこれと重複している可能性がありますが、受け入れられた回答にはリンクが壊れています。