#include <string.h> // for strlen void my_erase_head(char *str, int n) { const int len = strlen(str); if( n >= len ) { // 削除文字数が、文字列 str の長さよりも大きい場合 *str = '\0'; return; } char *src = str + n; // コピー元 while( (*str++ = *src++) != '\0' ) { // ヌル文字までコピー } }
解説:
#include <string.h> // for strlen void my_erase_head(char *str, int n) { ..... char *src = str + n; // コピー元 for(int i = 0; i < len - n + 1; ++i) { *str++ = *src++; // ヌル文字までコピー } }
解説:
前: | 次: