_mbsninc
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;
}