Я пытаюсь написать быструю функцию для удаления символов подчеркивания
char yytext[25] = {"IDEN_T3FY_ER"};
char removeUnderscore[9];
int i, j = 0;
printf("Before: %s\n", yytext);
for (i = 0; i < strlen(yytext); i++){
if (j == 8)
break;
if (yytext[i] != '_')
removeUnderscore[j++] = yytext[i];
}
removeUnderscore[++j] = '\0';
printf("\nAfter: %s", removeUnderscore);
Однако, при печати, он получит правильные первые 8 символов и добавит в конце значение «8» для мусора, вместосимвола новой строки.
Может кто-нибудь объяснить, почему?Или, возможно, предложить более простой способ сделать это?