C言語共通文字列関数

11451 ワード

string.hヘッダファイルでよく使われる関数
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の戻り値です.
  • 戻り値<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キーワードの結果である符号なし整数タイプです
    //   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バイトを比較して戻り値を比較する.
  • 戻り値<0の場合はstr 1がstr 2
  • より小さいことを示す.
  • 戻り値>0の場合、str 2はstr 1
  • より小さいことを示す.
  • 戻り値=0の場合、str 1はstr 2
  • に等しいことを示す.
    以上はstringです.hヘッダファイルでよく使われる関数で、資料は菜鳥宿場C標準ライブラリから来ています.