Как очистить строку в си
Перейти к содержимому

Как очистить строку в си

Как очистить строку в C++?

Как очистить строку, чтобы в ней вообще ничего не было, как при создании?

  • Вопрос задан более трёх лет назад
  • 33717 просмотров

Комментировать

Решения вопроса 0

Ответы на вопрос 5

Taraflex

Ищу работу. Контакты в профиле.

Ответ написан более трёх лет назад

Нравится 5 2 комментария

Nik_Haker @Nik_Haker Автор вопроса

без iostream можно?

donkaban

1. Можно
2. А зачем?
3. А попробовать?

Сверхразум

Ответ написан более трёх лет назад

donkaban

Зачем советовать что бы то ни было СМОТРЕТЬ?

dominqnta

Ответ написан более трёх лет назад

Комментировать

Нравится Комментировать

baraboshinkg

Константин @baraboshinkg

Программист С/С++

Если C строка то:
str[0] = 0;

Ответ написан более трёх лет назад

Комментировать

Нравится Комментировать

int len = LEN_SIZE; char *txt; txt = malloc(sizeof(*txt)*len); for(int a = 0 ; a

Ответ написан более трёх лет назад

Комментировать

Нравится Комментировать

Ваш ответ на вопрос

Войдите, чтобы написать ответ

cpp

  • C++
  • +2 ещё

Какие есть методы сборки кода на игровых движках? Какой лучше для примитивного 2d вроде vn генератора?

  • 2 подписчика
  • 3 часа назад
  • 48 просмотров

cpp

  • C++

Как оформить правильно выполнение?

  • 1 подписчик
  • вчера
  • 46 просмотров

cpp

  • C++

Почему не подсчитывается количество книг с тремя о в название?

  • 1 подписчик
  • 27 нояб.
  • 74 просмотра

cpp

  • C++

Как создать exe файл с интерпретатором angel script?

  • 1 подписчик
  • 26 нояб.
  • 65 просмотров

cpp

  • C++

Как правильно округлять числа с плавающей точкой с заданной точностью?

  • 1 подписчик
  • 25 нояб.
  • 90 просмотров

cpp

  • C++

Как оформить некорректный ввод значений в наследниках?

  • 1 подписчик
  • 24 нояб.
  • 56 просмотров

cpp

  • C++
  • +2 ещё

В чем проблема в коде работы с графом?

  • 1 подписчик
  • 24 нояб.
  • 91 просмотр

cpp

  • C++
  • +1 ещё

Компиляция C++ кода на Ubuntu и Windows даёт мне разный результат, почему?

  • 1 подписчик
  • 24 нояб.
  • 164 просмотра

javascript

  • JavaScript
  • +2 ещё

Как перевести тип данных с С++ на JS?

  • 1 подписчик
  • 24 нояб.
  • 129 просмотров

cpp

  • C++
  • +1 ещё

Как найти точки пересечения двух многоугольников?

  • 1 подписчик
  • 23 нояб.
  • 84 просмотра

Элеста • Санкт-Петербург

от 130 000 до 200 000 ₽

от 300 000 ₽

от 3 000 до 6 000 $

29 нояб. 2023, в 21:44

1500 руб./в час

29 нояб. 2023, в 20:26

1000 руб./в час

29 нояб. 2023, в 20:22

600000 руб./за проект

Минуточку внимания

Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями

  • Где взять шаблон Zabbix?
    • 2 подписчика
    • 1 ответ
    • 3 подписчика
    • 0 ответов
    • 3 подписчика
    • 3 ответа
    • 2 подписчика
    • 0 ответов
    • 2 подписчика
    • 0 ответов
    • 2 подписчика
    • 0 ответов
    • 2 подписчика
    • 1 ответ
    • 2 подписчика
    • 1 ответ
    • 2 подписчика
    • 0 ответов
    • 2 подписчика
    • 6 ответов

    Как очистить указатель на char в Си?

    У меня есть функция, funcrion(FILE *in, char *result) пишушая некую последовательность символов в строку result. Однако, чтобы каждый раз записывать новую последовательность, необходимо внутри функции очистить строку result перед тем, как писать в неё что-либо, дабы не появлялись лишние символы (например, при первом вызове было записано «123456», а при втором нужно записать «abc». Если не очищать, получается второй раз «abc456»).

    Как это сделать, подскажите, пожалуйста!

    Удаление символов из строки

    K&R (61-62). Приводится пример функции squeeze , которая удаляет все символы c из строки s .

    Ниже представлен полный код программы с использованием этой функции. А также ответ к упражнению 2.4, где предлагается написать функцию, удаляющую из строки s1 все символы, встречающиеся в строке s2 .

    Алгоритм удаления символа из строки можно описать так:

    • Пока не будет достигнут конец строки,
    • если очередной символ строки не равен символу для удаления,
    • записать очередной символ по месту индекса j , после этого последний увеличить на единицу.

    Другими словами, алгоритм сводится к тому, что символ по индексу i затирается следующим символом, если он совпал с символом для удаления; т.к запись идет по счетчику j , а он увеличивается лишь тогда, когда символы из строки и для удаления не совпадают.

    Алгоритм удаления тех символов строки, которые встречаются в другой строке, отличается от предыдущего тем, что нужно по очереди извлекать символы из второй строки и удалять их из первой. Т.е. приведенный выше алгоритм следует вложить в цикл перебора символов второй строки.

    Удаление всех символов c из строки

    #include #define MAX 100 void squeeze (char s[], int c); main ()  char str0[MAX]; int i, c; for (i = 0; (c = getchar()) != '\n'; i++) str0[i] = c; str0[i] = '\0'; c = getchar(); squeeze (str0, c); printf("%s\n", str0); > void squeeze (char s[], int c)  int i, j; for (i = j = 0; s[i] != '\0'; i++) if (s[i] != c) s[j++] = s[i]; s[j] = '\0'; >

    Удаление всех символов, встречающихся в строке s2 , из строки s1

    #include #define MAX 100 #define DEL 10 void squeeze (char s[], char s1[]); void written (char s[]); main()  char str[MAX]; char str1[DEL]; written (str); written (str1); squeeze (str, str1); printf("%s\n", str); > void written (char s[100])  int i, c; i = 0; while ((c = getchar()) != '\n')  s[i] = c; ++i; > s[i] = '\0'; > void squeeze (char s[], char s2[])  int k, i, j; for (k = 0; s2[k] != '\0'; k++)  for (i = j = 0; s[i] != '\0'; i++) if (s[i] != s2[k]) s[j++] = s[i]; s[j] = '\0'; > >

    Примечание. Во второй программе запись символов в строку выделена в отдельную функцию, т.к. надо записать две строки. Иначе пришлось бы дублировать код.

    X Скрыть Наверх

    Решение задач на языке C

    Удалить все буквы из строки

    День добрый, подскажите, пожалуйста. Нужно реализовать вот такую вещь:
    Ввести строку символов, если ее длина >5, удалить все буквы – a..z.

    Лучшие ответы ( 1 )
    94731 / 64177 / 26122
    Регистрация: 12.04.2006
    Сообщений: 116,782
    Ответы с готовыми решениями:

    Удалить из строки все гласные буквы
    #include <stdio.h> #include <conio.h> #include <iostream> #include <string.h> void main() < .

    Удалить из строки все буквы, равные последней букве предложения
    надо что бы он прочитав последнею букву в предложение удалял все такие же буквы в самом предложение.

    6044 / 2159 / 753
    Регистрация: 10.12.2010
    Сообщений: 6,005
    Записей в блоге: 3
    Можно так вот например:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
    int RemoveLetters(char* const str) { int errorCode = 0; int i = 0; int j = 0; int N = 0; char* tempStr = NULL; if (str == NULL) { errorCode = -1; } else { N = strlen(str) + 1; if (N > 5) { tempStr = malloc(N * sizeof(*tempStr)); if (tempStr == NULL) { errorCode = -1; } else  memset(tempStr, 0, N * sizeof(*tempStr)); j = 0; for(i = 0; i  N - 1; i++) { if ((str[i]  'a')  } if (j > 0) { strcpy(str, tempStr); } } free(tempStr); tempStr = NULL; } } return errorCode; }

    Эксперт PythonЭксперт JavaЭксперт CЭксперт С++

    12238 / 7405 / 1736
    Регистрация: 25.07.2009
    Сообщений: 13,586

    Лучший ответ

    Сообщение было отмечено бутафор как решение

    Решение

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
    #include #include #include char * remove_if(char * str, int (*func)(int)) { char * s = str; while ( *s ) { if ( func(*s) ) memmove(s, s + 1, strlen(s)); else ++s; } return str; } int main(void) { char buf[BUFSIZ]; while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) printf("Result: %s", ( strlen(buf) > 5 + 1 /* '\n' at the end of string */ ) ? remove_if(buf, isalpha) : buf); return 0; }

    87844 / 49110 / 22898
    Регистрация: 17.06.2006
    Сообщений: 92,604
    Помогаю со студенческими работами здесь

    Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A
    Даны строки A и B. Если в A есть повторяющиеся символы, а в B нет повторяющихся символов, то.

    Файлы. Переписать все строки в новый файл, заменив все буквы ‘м’ на ‘М’
    Помогите написать программу. Язык С. Файлы. Задание: Переписать все строки в новый файл, заменив.

    Удалить латинские буквы из строки
    вот задание. строки A и B. Если в A есть повторяющиеся символы, а в B нет повторяющихся символов.

    Удалить из слова все согласные буквы
    Найти функцию которая получает слово на английском языке, удаляет из него все согласные буквы и.

    Или воспользуйтесь поиском по форуму:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *