#include <string.h> // for strlen
void my_push_nth(char *str, int n, char c)
{
const int len = strlen(str);
if( n < 0 ) {
n = 0;
} else if( n > len ) {
n = len;
}
for(int i = len; i >= n; --i) { // 終端ヌル文字から n 番目の文字までループ
str[i+1] = str[i]; // 文字列を1文字後ろにずらす
}
str[n] = c; // n 番目に1文字挿入
}
解説:
前: | 次: