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
関連記事
C言語:
・組み込みの為のC言語基礎知識1(printf) - Project_OKI’s diary
・C言語基礎知識2(for分で処理を繰り返す) - Project_OKI’s diary
・C言語基礎知識3(配列) - Project_OKI’s diary
・知らないと損するお金の話(ふるさと納税、確定申告とワンストップ納税どっちが得?) - 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