MFCのCStringは、直接割り当てパスを持つ構成ファイルパス文字列が読取溶液の異なる結果につながる読み出し

次のようにケースは以下のとおりです。

方法a:パスから設定ファイルを読み込みます

  ( "パラメータ"、 "sourcefacespath"、 "NULL"、strWindow.GetBuffer(1024)、1024 m_inipathを)のGetPrivateProfileString。    

  //strWindow.ReleaseBuffer(1024); //この1つはまた、より少ないにファイルパスを取得する追加
  のCString m_folderPath = strWindow。 

CStringのstrWildCard = m_folderPath。

strWildCard + = "\\ * *。";

方法2:直接割り当て

CStringのm_folderPath = "\\\\ 192.168.1.132 \\ユーザー\\ ZJS \\デスクトップ\\ facesSample"。 

CStringのstrWildCard = m_folderPath。

strWildCard + = "\\ * *。";

 

結果:2つの方法がパスからファイルを取得することができ、及び方法はすることはできません。

 

ソリューション:

( "パラメータ"、 "sourcefacespath"、 "NULL"、strWindow.GetBuffer(1024)、1024、m_inipathを)のGetPrivateProfileString。    

  strWindow.ReleaseBuffer(); //括弧のデータ長を追加することはできません。

 

分析:

プロファイル文字列データを読み取るために必要な文字列の長さをのGetPrivateProfileString、文字列の長さを指定し、しばしばスプライシングが、手動で余分な空白文字を解放する必要があるときに問題を次の文字列を引き起こして、文字列の実際の長さよりも大きい(呼び出しReleaseBuffer ()メソッドリリース、カット長データを追加することができる接合ブラケット、そうでなければ無効)

これらは彼らの物語、そしてシンプルに理解するために、無綿密な研究目的ですが、同じような状況のピアが助けることができる体験してみたいです。

何か間違って、そこに指定歓迎です、感謝!

公開された15元の記事 ウォン称賛20 ビュー10000 +

おすすめ

転載: blog.csdn.net/ZDT_zdh/article/details/100113504