C言語文字列のいくつかの共通関数のまとめ

3595 ワード

文字列処理関数
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