C言語文字列のいくつかの共通関数のまとめ
3595 ワード
文字列処理関数
1、フォーマットデータを文字列に書き込む:sprintf
int sprintf( char *buffer, const char *format, ... );
bufferにデータを印刷する
例えば、char result[100];
int num = 24;
sprintf( result, "%d", num );
sprintf( result, "%f", fnum );
2文字列長クエリー関数:strlen
int strlen(const char *s);
3、文字列コピー関数:strcpy、strncpy
char *strcpy(char *dest, const char *src);
4、文字列接続関数:strcat
char *strcat(char *dest, const char *src);
5、文字列比較関数:strcmp、strncmp、stricmp、strnicmp
文字列比較関数strcmp(大文字と小文字)
int strcmp(const char *s1, const char *s2);
Return Value
Return value
Explanation
less than 0
str1 is less than str2
equal to 0
str1 is equal to str2
greater than 0
str1 is greater than str2''
文字列検索関数:strcspn、strspn、strstrstr、strtok、strchr
6サブストリングstrstrの検索
char *strstr(char *s1, char *s2);
指定した文字列が文字列に最初に表示された場所を検索し、位置ポインタを返します.
見つかったら、ポインタを返して、s 1で初めてs 2が現れた位置を指します.
見つからない場合はNULLを返します
pdest = strstr( string, str );
stringでstrを検索し、stringでstrが初めて現れる位置を返します.
char* result = strstr( str1, str2 );
if( result == NULL ) printf( "Could not find '%s' in '%s'", str2, str1 );
else printf( "Found a substring: '%s'", result );
出力結果:Found a substring:'a string of characters'
7、検索文字が列の中で初めて現れる位置strchr
pdest = strchr( string, ch );
stringでchを検索し、stringでstrが初めて現れる位置を返します.
8、文字列部分コピーstrncpy、文字列全部コピーstrcpy
char *strncpy(char *dest, char *src, int maxlen);
char *strcpy(char *dest, char *src);
前のmaxlen文字をsrcからdestにコピー
1)srcの文字がmaxlen個未満の場合は'0'までコピーし、'0'以降のコピーはしない
2)srcの文字がmaxlen個以上の場合、maxlen個の文字をコピーする
9文字列大文字と小文字の変換関数:strlwr、strupr
補足:これらの関数はすべて#include
1、フォーマットデータを文字列に書き込む:sprintf
int sprintf( char *buffer, const char *format, ... );
bufferにデータを印刷する
例えば、char result[100];
int num = 24;
sprintf( result, "%d", num );
:char string[50];
int file_number = 0;
sprintf( string, "file.%d", file_number );
file_number++;
output_file = fopen( string, "w" );
:char result[100];
float fnum = 3.14159; sprintf( result, "%f", fnum );
2文字列長クエリー関数:strlen
int strlen(const char *s);
3、文字列コピー関数:strcpy、strncpy
char *strcpy(char *dest, const char *src);
4、文字列接続関数:strcat
char *strcat(char *dest, const char *src);
5、文字列比較関数:strcmp、strncmp、stricmp、strnicmp
文字列比較関数strcmp(大文字と小文字)
int strcmp(const char *s1, const char *s2);
Return Value
Return value
Explanation
less than 0
str1 is less than str2
equal to 0
str1 is equal to str2
greater than 0
str1 is greater than str2''
文字列検索関数:strcspn、strspn、strstrstr、strtok、strchr
6サブストリングstrstrの検索
char *strstr(char *s1, char *s2);
指定した文字列が文字列に最初に表示された場所を検索し、位置ポインタを返します.
見つかったら、ポインタを返して、s 1で初めてs 2が現れた位置を指します.
見つからない場合はNULLを返します
pdest = strstr( string, str );
stringでstrを検索し、stringでstrが初めて現れる位置を返します.
:char* str1 = "this is a string of characters";
char* str2 = "a string"; char* result = strstr( str1, str2 );
if( result == NULL ) printf( "Could not find '%s' in '%s'", str2, str1 );
else printf( "Found a substring: '%s'", result );
出力結果:Found a substring:'a string of characters'
7、検索文字が列の中で初めて現れる位置strchr
pdest = strchr( string, ch );
stringでchを検索し、stringでstrが初めて現れる位置を返します.
8、文字列部分コピーstrncpy、文字列全部コピーstrcpy
char *strncpy(char *dest, char *src, int maxlen);
char *strcpy(char *dest, char *src);
前のmaxlen文字をsrcからdestにコピー
1)srcの文字がmaxlen個未満の場合は'0'までコピーし、'0'以降のコピーはしない
2)srcの文字がmaxlen個以上の場合、maxlen個の文字をコピーする
9文字列大文字と小文字の変換関数:strlwr、strupr
補足:これらの関数はすべて#include