C言語の文字列--strcat、strcpyのに一般的に使用される機能

strcpyの

プロトタイプ宣言:EXTERNするchar * strcpyの(するchar * DEST、CONSTするchar * SRC)。
ヘッダファイルします。#include < string.hの >
文字列をコピーし、destから開始する開始アドレスからのsrc NULLターミネータを含む:機能の アドレス空間
説明:メモリが重複してもしなくても、文字列srcを収容するのに十分なスペースを持っている必要がありますsrcとdestのdestの領域に指摘しました。
DESTのへのポインタを返します ポインタを
達成するために機能:
 
  1.  
    / **********************
  2.  
     * C標準ライブラリ関数strcpyの実装最も単純な典型的な工業用グレード
  3.  
     *戻り値:ターゲット文字列アドレスを。
  4.  
     *標準ANSI-C99異常が発生した場合に定義されていない、それは通常NULL、実装によって決定された値を返します。
  5.  
     *パラメータ:
  6.  
     * StrDestinationのターゲット文字列
  7.  
     * StrSourceソース文字列
  8.  
     *********************** /
  9.  
     
  10.  
      するchar * strcpyののchar *のstrDestination、CONST 文字* strSource)
  11.  
     {
  12.  
      (!strDestination =断言 !NULL && strSource = NULL);
  13.  
      char * = strDestinationが固化し、
  14.  
      しばらく((*固化++ * ++ strSource)=!'\ 0');
  15.  
      strDestinationを返します。
  16.  
     }
  17.  
     
  18.  
      / *
  19.  
     GNU-C(抜粋)に実装:
  20.  
     * /
  21.  
      CHAR * strcpyののchar * dを、CONST するchar * s)は
  22.  
     {
  23.  
      チャー* R = D。
  24.  
      一方、((* D ++ = * S ++))。
  25.  
      Rを返します。
  26.  
     }
  27.  
      / *((* D ++ = * S ++))一方、説明:割り当ての値をとる2つのブラケット、
  28.  
    値の代入式の左オペランドので、NULLをコピーした後、ループ/ *停止


strcatの

プロトタイプ

EXTERNするchar * strcatは(するchar * destに、するchar * SRC);

使い方

書式#include <string.hの>
C ++では、<CStringの>ヘッダ・ファイルに存在しています。

機能

列srcの最後に追加DESTを呼び(destが「\ 0」の終わりに覆い)と「\ 0」を追加。

説明

メモリが重複してもしなくても、文字列srcを収容するのに十分なスペースを持っている必要がありますsrcとdestのdestの領域に指摘しました。
DESTのへのポインタを返します ポインタを
達成するために機能:
  1.  
    //その入力パラメータを示す、元の文字列のconstを追加
  2.  
    するchar * strcatはCHAR * strDest、constのchar型* strSrc)
  3.  
    {
  4.  
    //テキストリターンアドレスの後に、それは声明アドレスアサートアサーションの後に配置することはできません
  5.  
    char *アドレス= strDest。
  6.  
    (!(strDest =アサート !NULL)&&(strSrc = NULL)); //送信元アドレスと宛先アドレスに加えて非アサーション0
  7.  
    しばらく(* strDestは)しばらく(* strDest!= '\ // 0')を簡略化した形で
  8.  
    {
  9.  
    //(* strDestが++)、エラーが発生し、サイクルの終わりがstrDest後に行われることになるので、中に++を使用する場合、
  10.  
    //それはstrDest「\ 0」次の位置を指しています。/ ++流通しているので、体への、なぜならもし* strDest最後の指
  11.  
    //これは、文字列「\ 0」の終わりを示します。
  12.  
    strDest ++;
  13.  
    }
  14.  
     
  15.  
    しばらく(* strDest ++ = * strSrc ++)
  16.  
    {
  17.  
    NULL; //サイクル条件内で使用することができ++
  18.  
    } //このステートメントを追加することができます* strDest = '\ 0';必要はありません
  19.  
    アドレスリターン; //戻りアドレスの目的を達成するための連鎖
  20.  

おすすめ

転載: www.cnblogs.com/qiumingcheng/p/11370310.html