NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(strncmp関数の使い方)

strncmp関数

 strncmp関数は文字列を先頭から指定文字数分比較してその結果を返します。
 Arduino IDEで使用するstrncmp関数の使い方は以下の通りです。
 試しにこのプログラムをArduino UNOで実行すると、「ABC123」と「ABCDEF」と言う2つの文字列を先頭から5文字比較した結果が最初に、3文字比較した結果が後になってシリアルモニタ上に「NotMatch  :  Match」と表示されます。
char A[7] = "ABC123";
char B[7] = "ABCDEF";

void setup() {
  Serial.begin(9600);
}

void loop() {
  if (strncmp(A, B, 5) == 0) { //AとBの文字列を先頭から5文字比較
    Serial.print("Match");
  } else {
    Serial.print("NotMatch");
  }
  Serial.print("  :  ");

  if (strncmp(A, B, 3) == 0) { //AとBの文字列を先頭から3文字比較
    Serial.println("Match");
  } else {
    Serial.println("NotMatch");
  }
  delay(1000);
}
イメージ 1
図1:プログラム例

 

strncmp(charA,charB,size)のパラメータ
charA :比較したい1つ目の文字列を指定します。
charB 比較したい2つ目の文字列を指定します
size    :A,Bの文字列を先頭から何文字分比較するかという文字数を指定します。

補足  :戻り値は、文字コード順で、A > B で正の値、A < B で負の値、
             A = B で0を返します。
※戻り値が0ならば比較した二つの文字列は一致しているということになります。
 
イメージ 1
図1:シリアルモニタ出力結果
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る