_mbsninc

提供: RAD Studio
移動先: 案内検索

string.h:インデックス への移動


ヘッダー ファイル

mbstring.h

カテゴリ

メモリおよび文字列操作ルーチン

プロトタイプ

unsigned char *_mbsninc(const unsigned char *str, size_t num);

説明

これらの関数は、文字配列 str を num 文字分だけ増やします。

これらの関数を使用する場合は、tchar.h に定義されている移植性のあるマクロ _tcsninc を通じて行う必要があります。

戻り値

これらの関数は、引数 str で指定された文字列のサイズ変更後のポインタを返します。

# include <mbstring.h>
# include <iostream>

char* concat_strings(char* input, char* add) {
	/* 文字列 add の長さを取得 */
	int add_len = strlen(add);
	char* result;

	/* 何もすることがなければ終了 */
	if (!add || !add_len)
		return input;

	/* add を格納できるように input を拡張 */
	_mbsninc(input, add_len);

	result = input;
	/* コピーを開始できるように input の末尾に移動 */
	input += strlen(input);

	/* 1 文字ずつコピー */
	while (*add) {
		_mbccpy(input, add);
		add++;
		input++;
	}

	/* 文字列の末尾を示すマークを付ける */
	*input = '\0';
	return result;
}

int main() {
	char* d = new char;
	char* s = new char;
	char* r = new char;
	s = "Hello ";
	d = "world!";
	r = concat_strings(s, d);
	std::cout << r << std::endl;

	return 0;

}