文字列と文字コードを比較するには?

解決


大木  2007-04-13 02:03:33  No: 64918

ファイルより読み出した文字列によりif分岐を行いたいのですが、
比較の仕方が解りません。

分岐条件は Hex"20 0A 0D 0A"であるかどうかです。
Hex"0D 0A"は改行コードなので

if ( strncmp(ファイルより読み出した文字列, "aaaa",4) == 0) 

のように、固定値を入れて比較することもできないしなぁ、と困っています。

よろしくお願いします。


Blue  2007-04-13 02:09:21  No: 64919

よく意味がわからないのですけど。

改行なら "\r\n" というエスケープ シーケンスであらわせれます。
また \x を使えば

"\x0d\x0a"

ともあらわせます。
また、

char s[] = "\r\nほげ";

// 先頭が改行文字列か?
if (s[0] == 0x0d && s[1] == 0x0a)
{

という風にもできますし。


Blue  2007-04-13 02:22:32  No: 64920

こんなのでも

// Hex"20 0A 0D 0A"
char s[5] = { 0x20, 0x0A, 0x0D, 0x0A, 0x00 };

if (strncmp(ファイルより読み出した文字列, s, 4) == 0)


大木  2007-04-13 02:37:03  No: 64921

Blueさん  ありがとうございます。
どれも浮かびませんでした^^;

自分で配列を&&で結ぶことすら浮かばなかったのが、悔やまれます。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加