1. ホーム
  2. Project tuning error

デバッグアサーションに失敗しました

2022-02-12 03:36:11

デバッグ中、以下のエラーが発生しました。



エラーの理由 主関数の引数が入力されておらず、引数リスト内の変数を参照している。

コンフィギュレーションで設定するには、1.まずmainがあるプロジェクトを右クリックし、設定します。スタートアッププロジェクトに設定する

2. 以下の画像を設定します。




imshow関数へのデバッグでエラーが報告されます。


<スパン 解決策

<スパン 長い間、何が悪いのかわからずに調べていましたが、ようやく原因がわかりました。 imreadのパスが正しくないことが判明しました。imreadは相対パスには対応しておらず(プロジェクトに画像を入れても失敗しました)、絶対パスのみです。また、パスセパレータは" \" には対応しておらず、"/" や "//" にはスプリッタがサポートされています。



<スパン C/C++ ファイルパスにおけるスラッシュの問題。 <スパン シングルスラッシュ "\" をダブルスラッシュ "\" に置き換えてください。

VCで、ファイルの読み書きを使いたいのですが、パスが自動的に取得されるのは、以下のようなものです。C:\LocalTest.txt D:\ModemMo.ini などのように、その後使用するために C:\LocalTest.txt D:\ModemMo.ini に変換したいので、具体的なコードを、なるべく簡単なコードでお願いします。(元のパスの文字列型は: (元のパスの文字列型は : CString, 変換後もCStringであることが望ましい).

<スパン

1. c/c++ では、改行文字を表す '\n' のようなエスケープ文字を定義するために、'index' を使用します。
2. 2.エスケープ用か自分用かを区別するために、"୧⃛(๑⃙⃘◡̈๑⃙⃘) "を指定します。
3. だから、Dosパスの"˶‾‾‾"は、c/c++の"˶‾‾‾"で表現する必要があります。
4. ms windowsでc/c++を使用している場合、dosパスで/を使用することで "second "を示すことができます。
5. 例
"d:\test ┣️1.txt"
"d:/test/1.txt"。
上記の2つのパスは、ms Windowsでは等価です。