C言語共通文字列関数
11451 ワード
string.hヘッダファイルでよく使われる関数
Cライブラリ関数-strcat()
char *strcat(char *dest, const char *src)
srcが指す文字列をdestが指す文字列の末尾に追加する
印刷された結果は
Cライブラリ関数-strcpy()
char *strcpy(char *dest, const char *src)
srcが指す文字列をdestにコピーする
印刷された結果は
Cライブラリ関数-strcmp()
int strcmp(const char *str1, const char *str2)
str 1が指す文字列とstr 2が指す文字列を比較する
印刷された結果は、戻り値<0の場合はstr 1がstr 2 より小さいことを示す.戻り値>0の場合、str 2はstr 1 より小さいことを示す.戻り値=0の場合、str 1はstr 2 に等しいことを示す.
Cライブラリ関数-strlen()
size_t strlen(const char *str)
文字列strの長さは、空の終了文字まで計算されますが、空の終了文字は含まれません.size_tこれはsizeofキーワードの結果である符号なし整数タイプです
印刷された結果は
void *memset(void *str, int c, size_t n)
パラメータstrが指す文字列の最初のn文字に、文字c(符号なし文字)をコピーします.通常、一括付与として使用されます.
印刷された結果は
戻り値:この値は、ストレージstrを指すポインタを返します.
拡張:
Cライブラリ関数-memcpy():Cライブラリ関数memcpy()
void *memcpy(void *str1, const void *str2, size_t n)
記憶領域str 2からn文字を記憶領域str 1にコピーする.str 2はmemcpy(str 1,str 2+3,6);//3番目の文字からコピーを開始し、6文字の戻り値を連続的にコピーします.この関数は、ターゲットストレージstr 1へのポインタを返します.
Cライブラリ関数-memcmp():Cライブラリ関数-memcmp()
int memcmp(const void *str1, const void *str2, size_t n)
記憶領域str 1と記憶領域str 2の最初のnバイトを比較して戻り値を比較する.戻り値<0の場合はstr 1がstr 2 より小さいことを示す.戻り値>0の場合、str 2はstr 1 より小さいことを示す.戻り値=0の場合、str 1はstr 2 に等しいことを示す.
以上はstringです.hヘッダファイルでよく使われる関数で、資料は菜鳥宿場C標準ライブラリから来ています.
Cライブラリ関数-strcat()
char *strcat(char *dest, const char *src)
srcが指す文字列をdestが指す文字列の末尾に追加する
// strcat()
char str1[100];
char str2[100];
gets(str1); // abcd
strcat(str1, "efg");
//
//gets(str2); // efg
//strcat(str1, str2);
印刷された結果は
abcdefg
の戻り値です.この関数は、最終的なターゲット文字列destを指すポインタを返します.Cライブラリ関数-strcpy()
char *strcpy(char *dest, const char *src)
srcが指す文字列をdestにコピーする
// strcpy()
char str1[100];
char str2[100];
strcpy(str1, "abcd"); //
strcpy(str2, str1); //
印刷された結果は
abcd
の戻り値です.この関数は、最終的なターゲット文字列destを指すポインタを返します.Cライブラリ関数-strcmp()
int strcmp(const char *str1, const char *str2)
str 1が指す文字列とstr 2が指す文字列を比較する
// strcpy()
char str1[100];
char str2[100];
int flg; // strcmp()
strcpy(str1, "abc"); // abc
strcpy(str2, "xyz"); // xyz
flg=strcmp(str1, str2); // ASCALL
if(flg > 0)
printf("str1 > str2");
else if(flg < 0)
printf("str1 < str2");
else if(flg == 0)
printf("str1 = str2");
印刷された結果は、
str1 < str2
の戻り値です.Cライブラリ関数-strlen()
size_t strlen(const char *str)
文字列strの長さは、空の終了文字まで計算されますが、空の終了文字は含まれません.size_tこれはsizeofキーワードの結果である符号なし整数タイプです
// strlen()
char str[100];
int l; //
strcpy(str,"abcd"); // abcd
l=strlen(str);
印刷された結果は
4
戻り値です.この関数は文字列の長さcライブラリ関数-memset()を返します.void *memset(void *str, int c, size_t n)
パラメータstrが指す文字列の最初のn文字に、文字c(符号なし文字)をコピーします.通常、一括付与として使用されます.
// strlen()
char str[10]={'\0'};// 0
int arr[10]={1,1,1,1,1,1,1,1,1,1};// 1
memset(str,'a',5);//5*sizeof(char) // 5 a
memset(str,'a',sizeof(str)-1); // a //‘\0’
memset(arr,0,5*sizeof(int)); // 5 0;
memset(arr,0,sizeof(arr)); // 0;
// :
//sizeof( ) ,sizeof( )
// , 0, -1
印刷された結果は
//aaaaa
//aaaaaaaaa
//0 0 0 0 0 1 1 1 1 1
//0 0 0 0 0 0 0 0 0 0
戻り値:この値は、ストレージstrを指すポインタを返します.
拡張:
Cライブラリ関数-memcpy():Cライブラリ関数memcpy()
void *memcpy(void *str1, const void *str2, size_t n)
記憶領域str 2からn文字を記憶領域str 1にコピーする.str 2はmemcpy(str 1,str 2+3,6);//3番目の文字からコピーを開始し、6文字の戻り値を連続的にコピーします.この関数は、ターゲットストレージstr 1へのポインタを返します.
Cライブラリ関数-memcmp():Cライブラリ関数-memcmp()
int memcmp(const void *str1, const void *str2, size_t n)
記憶領域str 1と記憶領域str 2の最初のnバイトを比較して戻り値を比較する.
以上はstringです.hヘッダファイルでよく使われる関数で、資料は菜鳥宿場C標準ライブラリから来ています.