c++でconst char*型の文字列をテンプレート関数で連結したい
c++はstring型を使ってやれば文字列を簡単に扱えると思うのですが、あえてconst char*
型を使って文字列を扱おうと思うのですが、どうすればconst char*
型の文字列を連結できるのですか?
例: "abc" "abcc" の二つのconst char*
型を連結して "abcabcc" と一つのconst char*
型に入れたいです。調べてこの関数を使って入れたのですが、rsize_t
型とsize_t
型の違いについても教えていただけますでしょうか?
template<typename type> type f(type a,type b) {
cout << "テンプレート関数\n";
return a + b;
}
template<> const char* f<const char*>(const char* x, const char* y) {
//cout << "明示的特殊化\n";
char* xx = const_cast<char*>(x);
rsize_t t = sizeof(xx);
strcat_s(xx, strlen(xx), y); //ここの関数で書き込みアクセスエラーが出ます。
cout << xx;
return "a";
}
int main() {
cout << f<const char*>("abc", "abcc");
_getch();
return 0;
}