C言語の文字列
文字列は文字の配列であり、ヌル文字(\ 0)で終了します。ヌル文字はユーザーによって配置されません。コンパイラーはヌル文字を文字列の最後に自動的に配置します。
配列と文字列の違いは、コンパイラが配列の最後にヌル文字を配置しないのに対し、文字列ではコンパイラがヌル文字を配置することです。
これがC言語の文字列の構文です
char myStr[size];
ここで
myStr: 文字列
サイズ: 文字列のサイズを設定する
以下に示すようにC言語で文字列を初期化します-
char myStr[size] = “string”; char myStr[size] = { ‘s’,’t’,’r’,’i’,’n’,’g’,’\0’ };
次の表は、C言語での文字列の機能を示しています。
strcpy(s1、s2) | 文字列s2を文字列s2にコピーします |
strcat(s1、s2) | s2をs1の終わりに連結します |
strlen(s1) | 文字列s1の長さを返します |
strcmp(s1、s2) | s1とs2が同じ場合は0を返しますs1のASCII値がs2より大きい場合は0より大きいs1のASCII値がs2より小さい場合は0未満 |
strchr(s1、ch) | 文字列s1で最初に出現する文字chへのポインタを返します |
strstr(s1、s2) | 文字列s1で最初に出現する文字列s2へのポインタを返します |
これがC言語の文字列の例です
例
#include <stdio.h> #include <string.h> int main () { char s1[10] = "Hello"; char s2[10] = "World"; int len, com ; strcpy(s1, s2); printf("Strings s1 and s2 : %s\t%s\n", s1, s2 ); strcat( s1, s2); printf("String concatenation: %s\n", s1 ); len = strlen(s1); printf("Length of string s1 : %d\n", len ); com = strcmp(s1,s2); printf("Comparison of strings s1 and s2 : %d\n", com ); return 0; }
出力
Strings s1 and s2 : WorldWorld String concatenation: WorldWorld Length of string s1 : 10 Comparison of strings s1 and s2 : 87
-
C言語のstrcmp()関数とは何ですか?
Cライブラリ関数intstrcmp(const char * str1、const char * str2) str1が指す文字列を比較します str2が指す文字列へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です- char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,&ls
-
C言語のstrcpy()関数とは何ですか?
Cライブラリ関数char* strcpy(char * dest、const char * src) srcが指す文字列をコピーします 宛先へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}