#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++; // ヌル文字までコピー
}
}
解説:
前: | 次: