Удаляется первый символ строки. Как пофикить?

Если вы столкнулись с проблемой удаления первого символа строки в языке программирования C, существует несколько способов решения этой проблемы. Ниже я приведу несколько примеров:

1. С использованием указателей:

#include <stdio.h>

void deleteFirstChar(char* str) {
    // Перемещаем указатель на следующий символ в строке
    str++;
}

int main() {
    char str[] = "Hello, World!";
    
    printf("Строка до удаления первого символа: %sn", str);
    
    deleteFirstChar(str);
    
    printf("Строка после удаления первого символа: %sn", str);
    
    return 0;
}

2. С использованием библиотечных функций:

#include <stdio.h>
#include <string.h>

void deleteFirstChar(char* str) {
    // Копируем весь текст, начиная со второго символа, в начало строки
    memmove(str, str + 1, strlen(str));
}

int main() {
    char str[] = "Hello, World!";
    
    printf("Строка до удаления первого символа: %sn", str);
    
    deleteFirstChar(str);
    
    printf("Строка после удаления первого символа: %sn", str);
    
    return 0;
}

3. С использованием индексации:

#include <stdio.h>

void deleteFirstChar(char* str) {
    int i;
    
    // Сдвигаем каждый символ на одну позицию влево
    for (i = 0; str[i] != ''; i++) {
        str[i] = str[i + 1];
    }
}

int main() {
    char str[] = "Hello, World!";
    
    printf("Строка до удаления первого символа: %sn", str);
    
    deleteFirstChar(str);
    
    printf("Строка после удаления первого символа: %sn", str);
    
    return 0;
}

Выберите подходящий способ в соответствии с вашими потребностями и предпочтениями.