Ввод строки в структуру - C (СИ)

Узнай цену своей работы

Формулировка задачи:

у меня есть структура:
Листинг программы
  1. struct St
  2. {
  3. char *Fam;
  4. };
мне нужно осуществить ввод строки любой длины в это значение. как это сделать? такой вариант не получается:
Листинг программы
  1. scanf("%s",&cli->Fam);

Решение задачи: «Ввод строки в структуру»

textual
Листинг программы
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <cstring>
  4.  
  5. struct Student
  6. {
  7.     char * Surname;  
  8. };
  9.  
  10. int main()
  11. {
  12.     Student *S = (struct Student*)malloc(sizeof(struct Student));
  13.     S->Surname = malloc(150);
  14.     scanf("%149s", S->Surname);
  15.     system("pause");
  16.     return 0;
  17. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: (ввод/вывод), (работа с памятью), (работа со строками).
  2. Создание структуры Student с одним полем Surname типа char*.
  3. Выделение памяти под указатель на структуру Student с помощью malloc.
  4. Выделение памяти под строку Surname внутри структуры с помощью malloc.
  5. Ввод строки Surname с помощью функции scanf, которая считывает строку, состоящую из 149 символов (или менее) в указанную переменную.
  6. Вывод на экран сообщения о завершении работы программы с помощью функции system(pause).
  7. Возврат 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы