Для заданного 2d массива символов или, другими словами, для массива строк с заданным размером, например:
char array[100][6];
, и массив заполняется следующим образом:
{"john", "mark", "megan"} and so on...
Как я могу удалить данное слово?Например, удаляя «mark».
Я где-то читал, что мы должны заменить строку, которую нужно удалить, следующей.
Код, который у меня есть на данный момент:
void remove_string(char array[100][6], char *string, int array_size){
for(int i = 0; i < array_size; i++){
if(strcmp(array[i], string) == 0){
for(int j = i; j < array_size; j++){
strcpy(array[j], array[j+1]);
}
}
}
}
Ожидаемый результат после удаления "mark":
{"john", "megan"}
Код работает, но можно ли это сделать без использования другого цикла?
Я также думал о копировании всехслова, за исключением одного, которое нужно удалить в другой массив и вернуть новый массив, но я не могу найти только копирование «других слов».