外出自粛中でも楽しく過ごす!QAまとめ>>

strcmpを実行したのですが、比較した値は、同じ値なのですが、返り値が"2"です。結果が"2"になることはありますか?どのような意味でしょうか?

A 回答 (2件)

strcmpは、



最初の引数が、第二引数よりも何文字多いかを戻り値とするようです。
http://php.benscom.com/manual/ja/function.strcmp …

戻り値が"2"なのであれば、第二引数が半角2文字分(2バイト分)少ないということになります。

文字列中に改行、タブ、スペースなど入っていないかチェックして下さい。
マルチバイト文字(全角)をご利用であれば文字のエンコードは同一のものかも確認されたほうが良いです。
    • good
    • 0
この回答へのお礼

ありがとうございました。<m(__)m>

お礼日時:2009/07/04 22:18

マニュアル上は0と正と負を返すと言うので、2を返しても仕様通りですし、正負で判定するのであれば、不自由はしないでしょう。



ただ、2となるケースはみたことないですね。

再現するコード(1行で済むはず)を載せればすぐに解決すると思いますよ。

この回答への補足

回答ありがとうございます。
CR LFが付いたまま比較していたようです。
再現するコードを載せるとはどういう意味でしょうか?
比較する文字列2つと、返り値はPRINTで表示して、
テストをしました。ところで、インターネットエクスプローラでは、
CR LFは表示できるのでしょうか?

補足日時:2009/07/04 22:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング