ViVi Home > 技術文書 > ポインタ入門 > 基礎演習問題> push_nth


 

 

C/C++ ポインタ入門 > 文字列関数 > push_nth
Nobuhide Tsuda
Nov-2013

文字列 n 番目に文字を追加:void my_push_nth(char *str, int n, char c)

#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文字挿入
}

解説:

 


前: | 次: