今日の人気記事

  1. printf関数の変換指定子
  2. 条件演算子(3項演算子)「? :」
  3. コンパイルと実行 - GNU Compiler Collection(gcc) - Linux環境
  4. 入力した5教科の合計点と平均点を計算する
  5. int main(void) - プログラムの基本

文字列関数 - string.h

当ページのリンクには広告が含まれています。

スポンサーリンク

ここでは文字列のコピーや連結を行う文字列関数を紹介します。

string.h

文字列関数を利用する場合「string.h」というヘッダーファイルを読み込む必要があります。

#include <string.h>

文字列関数

文字列関数の概要を以下のテーブルにまとめました。

関数概要
strcpy(s1, s2)s2 を s1 にコピーします。
strcat(s1, s2)s1 と s2 を連結します(s1の後にs2を連結)
strlen(s)文字列s の長さを取得します。
strcmp(s1, s2)s1 と s2 が同じ文字列なら「0」を取得します。異なる場合はそれ以外の値を返します。

それでは実際に文字列関数を使ってみましょう。

#include <stdio.h>
#include <string.h>

int main(void)
{
  int len;
  char s1[100], s2[100], s3[100];

  // 文字列を代入
  strcpy(s1, "ABC");
  strcpy(s2, "XYZ");
  printf("s1 = %s, s2 = %s\n", s1, s2);

  // 文字列を連結
  strcat(s1, s2);
  printf("s1 + s2 = %s\n", s1);

  // 文字列を長さを取得
  len = strlen(s2);
  printf("s2 の長さ %d\n", len);

  // 文字列を比較
  strcpy(s3, "XYZ");
  printf("s2 s3 の比較 %d\n", strcmp(s2, s3));
  printf("s1 s2 の比較 %d\n", strcmp(s1, s2));

  return 0;
}

実行結果です。

s1 = ABC, s2 = XYZ
s1 + s2 = ABCXYZ
s2 の長さ 3
s2 s3 の比較 0
s1 s2 の比較 -23

このように変数に代入した文字列の連結・長さ・比較が出力されます。

次は「関数の作り方」をみていきます。

基本構文 の人気記事

  1. printf関数の変換指定子
  2. 条件演算子(3項演算子)「? :」
  3. 関数のプロトタイプ宣言
  4. エスケープシーケンス - 特殊文字
  5. 変数の値を出力 - printf 関数
  6. while文 - 繰り返し処理
  7. int main(void) - プログラムの基本
  8. else if文 - 複数の条件式 - 条件分岐
  9. 配列の要素を出力(表示)する
  10. break文 - ループから抜ける

関連記事(一部広告含む)