• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VS2013のswscanf_s()について)

VS2013のswscanf_s()が正常に動作しない場合の訂正方法

このQ&Aのポイント
  • VS2013のswscanf_s()を使用して文字列をパースする際に問題が発生しました。
  • 提供されたコードでは、swscanf_s()関数が正しく機能せず、正しい結果を取得できません。
  • 正しい結果を得るためには、提供されたコードの修正が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

#include <iostream> #include <wchar.h> int main() { wchar_t c1[20], c2[20], c3[20], c4[20]; swscanf_s(L"a b c d", L"%s %s %s %s", c1, sizeof(c1), c2, sizeof(c2), c3, sizeof(c3), c4, sizeof(c4)); std::wcout << L'|' << c1 << L'|' << c2 << L'|' << c3 << L'|' << c4 << L'|' << std::endl; } 結果: |a|b|c|d| ...何の問題もありません。 なにが/どのように「旨く働きません」か?

bakabon_X
質問者

お礼

episteme さん 毎度、お世話になります。 その後、『WCHAR c1[20], c2[20], c3[20], c4[20];』をグロ-バル変数に して、トライしました所旨く行きました。 アドバイス頂きまして有難うございます。

bakabon_X
質問者

補足

episteme さん 毎度、お世話になります。 動作環境の記述が無くて御免なさい。 動作環境: Windows7、Visual Studio Community VS2013のMFC 不具合現象: Button3をクリックしまして、下記のコードの、swscanf_s(L"a b c d", ....)を 実行すると、『Run-Time Check Failure #2 - Stack around the variable 'c1' was corrupted.』なる警告表示のDialogがでます。 そして、c1、c2,c3,c4にはデーターが入っていません。 ============================ void CT_App1View::OnBnClickedButton3(){ wchar_t c1[20], c2[20], c3[20], c4[20]; swscanf_s(L"a b c d", L"%s %s %s %s", c1, sizeof(c1), c2, sizeof(c2), c3, sizeof(c3), c4, sizeof(c4)); } ======================== これは、『VS2013のMFC』に関する問題と思いますが、Button3のコードは、 他のコードとは独立していると思います。 尚、wcscopy、fprintf_s、wcscomp等は、問題ありません。 注)『int main()』でのテストは、これからやってみる予定です。 以上

関連するQ&A