Project_OKI’s diary

エンジニアの勉強ブログ

C言語基礎知識32(C言語で変数へ文字列をコピーする方法)

C言語で変数へ文字列をコピー

この記事では、C言語で文字列を変数に格納(コピー)する方法について記載する。

 

1. 目的

 ・C言語で文字列を変数に格納する方法について理解する。

 

目次

 

2. 文字列を変数に格納する方法

 2.1文字列を変数に格納する関数

 ・strcpy関数

 ・必要ヘッダファイル:string.h

 

 2.2 使用方法:strcpy 関数

 (1) strucpy関数を実行し、変数strに文字列をコピーする。

strucpy(str,"文字列");

 

 2.3 プログラム作成(strcpy関数でコピー:1次元配列)

 配列strにABCという文字列を格納して、その文字列を表示するプログラム。

#include <stdio.h>
#include <string.h>
 
int main(void){
    char str[10];            //格納する変数配列
    strcpy(str,"ABC");      //strにAをコピーする。
    printf("%s\n",str);     //str文字列を表示 
    return 0;
}

実行結果:https://paiza.io/projects/zHUmEmK_2CsTRPbP7q-OmQ?language=c

 

srcという配列に文字列を格納し、それをdestにコピーする。

#include <stdio.h>
#include <string.h>
 
int main() {
    char src[] = "Hello, World!";  //コピー元の文字列
    char dest[20];                 //コピー先の配列
    
    //destにsrcの文字列をコピーする。
    strcpy(dest, src);
    //文字列を表示
    printf("元の文字列: %s\n", src);
    printf("コピーされた文字列: %s\n", dest);
    return 0;
}

実行結果:https://paiza.io/projects/QWC8qyGlQYGxw1CM8Dpzkw?language=c

 

const で宣言した文字列をコピーする。

#include <stdio.h>
#include <string.h>
 
int main(void){
    const char str1[]={"test"};
    char str2[10];           //格納する変数配列
    strcpy(str2,str1);       //str2にstr1をコピーする。
    printf("%s\n",str2);     //str文字列を表示 
    return 0;
}

結果:https://paiza.io/projects/wz6pIztH_BVoI4ckJSg2nQ?language=c

 

 2.4 プログラム作成(strcpy関数でコピー:2次元配列)

2次元配列strのAndをDestinyにして、str文字列を全て表示する。

#include <stdio.h>
#include <string.h>
 
int main(void){
    //2重配列の用意
    char str[100][100] = {"And","Base","Center"};
    //1要素目にDestinyをコピー
    strcpy(str[0], "Destiny");
    //str文字列を全て表示
    for(int i=0;i<3;i++){
            printf("%s\n",str[i]);
    }
     return 0;
}

結果:https://paiza.io/projects/Oy1u60BuViGhtVr2iWJZkg?language=c

 

関連記事

過去の記事:

知らないと損するお金の話(ふるさと納税、確定申告とワンストップ納税どっちが得?) - Project_OKI’s diary

C言語基礎知識6(関数) - Project_OKI’s diary

C言語基礎知識7(構造体1) - Project_OKI’s diary

C言語基礎知識8(enum:列挙型) - Project_OKI’s diary

C言語基礎知識9(typedef) - Project_OKI’s diary

C言語基礎知識10(extern宣言) - Project_OKI’s diary

C言語基礎知識11(#define) - Project_OKI’s diary

 

組み込みC言語