C言語-超基本その4-
C言語独学の超基本のメモ、4回目。
文字列について。
C言語には、文字列型(string型)がないので、文字列を配列で扱う。
文字変数
文字を1文字だけ格納できる変数。
char 変数名 = ‘アルファベット1文字’; ←ここは「シングルクォーテーション」
char と アルファベット1文字は1バイトになる。
#include <stdio.h>
int main (void){
char c = 'A';
printf("%c",c);
return 0;
}
//実行するとAが表示される。
文字列を変数で扱う
c言語で複数の文字を変数として扱うには、配列を利用する。
char 変数名 [文字数+1] = {‘1文字目’,‘2文字目’,’\0’};
配列の終わりには \0 を付ける。 \0:終端文字(end of statement)
#include <stdio.h>
int main (void){
char str [5] = {'l','u','k','a','\0'};
printf("%s",str);
return 0;
}
//実行するとlukaが表示される。
文字列の初期化
配列の宣言と文字列の代入を同時にする。
#include <stdio.h>
int main (void){
char str1 [5] = {'l','u','k','a','\0'}; //こちらは手間。
printf("%s\n",str1);
char str2 [] = "luka"; //こちらのほうが簡単だが、後から文字を変更できない。
printf("%s\n",str2);
return 0;
}
//実行するとlukaが表示される。
atoi関数
- atoi関数:ASCII to Integer (int型の関数)
- atod関数:ASCII to Double (double型の関数)
- atof関数:ASCII to Float (float型の関数)
- atol関数:ASCII to Long (long型の整数)
〇atoi関数 int 数値へ変換する変数名 = atoi(文字列だった変数名);
#include <stdio.h>
#include <stdlib.h>
int main (void){
char str [] = "200";
int suuti = atoi (str);
printf("%d",suuti);
return 0;
}
//実行すると200が表示される。
#include <stdio.h>
#include <stdlib.h>
int main (void){
char str [] = "3.14";
double suuti = atoi (str);
printf("%f",suuti);
return 0;
}
//実行すると3.14が表示される。
strcpy関数
string copy:文字列のコピーを行うための関数。
strcpy (コピー先の配列名, コピー元の文字 or 配列); //右側のテキストを左側の配列に代入
#include <stdio.h>
#include <string.h>
int main (void){
char str [10];
strcpy(str, "LUKA"); //LUKAをstrに代入
printf("%s",str);
return 0;
}
//実行するとLUKAが表示される。
strcat関数
string concatenate→文字列の連結を行う関数
strcat(配列名1、配列名2)
#include <stdio.h>
#include <string.h>
int main (void){
char str1 [15] = "Hello"; //要素数を大き目に確保しておく
char str2 [] = "World";
strcat(str1, str2);
printf("%s",str1);
return 0;
}
//実行するとHelloWorldと表示される。
sprintf関数
string print formatted(書式付きで文字列出力)→あらゆる文字列を合成できる万能関数
sprintf(結果を格納する配列、“変換指定子”,変数,配列);
#include <stdio.h>
#include <string.h>
int main (void){
char str [20];
char str1 [] = "Hello";
char str2 [] = "World";
int i = 2;
sprintf(str, "%s%s%d", str1,str2,i);
printf("%s",str);
return 0;
}
//実行するとHelloWorld2と表示される。
strlen関数
string length→文字列の長さをカウント
#include <stdio.h>
#include <string.h>
int main (void){
char str [256];
scanf("%s", str);
int i;
i = strlen(str);
printf("%d",i);
return 0;
}
//キーボードで打ち込んだ文字数をカウントできる。
今回も、こちらの動画を参照しました。