ページ 11

_mbsstr関数についてご教授ください

Posted: 2020年7月05日(日) 21:23
by sassa125
https://yama-3.net/c/file-replace?unapp ... omment-186

このページに書かれているようコーディングしたところ、日本語を置換することができませんでした(アルファベットはできました)
そこで、strstr関数に原因があると考えstrstrを_mbsstrに書き換えたところ、インスタンスが引数リストと一致しませんとメッセージが出ました。
調べてもstrstrと_msbsstrの引数の違いがわからず困っています。
どうぞよろしくお願いいたします。

Re: _mbsstr関数についてご教授ください

Posted: 2020年7月06日(月) 16:49
by Butter
そのサイトによると、文字コードは
utf-8やshift-jisなどに対応していて、
utf-16には対応していないそうですが、
それは大丈夫ですか?

Re: _mbsstr関数についてご教授ください

Posted: 2020年7月06日(月) 19:06
by あたっしゅ
環境: Windows 10, Visual Studio 2019(構成/構成プロパティ/詳細/文字セット/マルチバイト文字セットを使用する)

 いろいろ試してみたところ、入力ファイル file01.txt が SHIFT-JIS の時、"テスト" → "test" の置換が
されるようです。

 入力ファイル file01.txt が UTF-8 の時は、入力の "テスト" が UTF-8 、
プログラム中の "テスト" が SHIFT-JIS で、コードが全然違うので、strstr で見つからず、
置換されません。これは、strstr を _mbsstr に変更して解決する問題ではありません。