c++strcat文字列接続ライブラリ関数を実現する方法の詳細
1239 ワード
プロトタイプextern char*strcat(char*dest,char*src);
使用法#include
機能はsrcで指す文字列をdestの末尾(destの末尾の'0'を上書き)に追加し、'0'を追加します.
説明srcとdestが指すメモリ領域は重なり合ってはいけないし、destはsrcの文字列を収容するのに十分な空間を持っていなければならない.
destを指すポインタを返します.
例を挙げる
char str4[] = "Hello world"; char str5[] = "Hello World"; cout << strcat(str4,str5) << endl;str 4には十分なスペースがないため、エラーが発生します.
以下は私自身の1つの実现で、足りないところ、また指正を望みます!!!
使用法#include
機能はsrcで指す文字列をdestの末尾(destの末尾の'0'を上書き)に追加し、'0'を追加します.
説明srcとdestが指すメモリ領域は重なり合ってはいけないし、destはsrcの文字列を収容するのに十分な空間を持っていなければならない.
destを指すポインタを返します.
例を挙げる
char str4[] = "Hello world"; char str5[] = "Hello World"; cout << strcat(str4,str5) << endl;str 4には十分なスペースがないため、エラーが発生します.
以下は私自身の1つの実现で、足りないところ、また指正を望みます!!!
#include "stdafx.h"
#include
#include
using namespace std;
//
char* mystrcat(char* destStr,const char* srcStr) // ?
{
assert(destStr != NULL && srcStr != NULL);
char* temp=destStr;
while(*destStr != '\0')
{
++destStr;
}
while(*destStr++ = *srcStr++)
NULL;
return temp; // ,
}
int _tmain(int argc, _TCHAR* argv[])
{
char str1[25] = "Hello world";
char str2[] = "Hello World";
cout << mystrcat(str1,str2) << endl;
return 0;
}