Ввод строки в структуру - C (СИ)
Формулировка задачи:
у меня есть структура:
мне нужно осуществить ввод строки любой длины в это значение.
как это сделать?
такой вариант не получается:
Листинг программы
- struct St
- {
- char *Fam;
- };
Листинг программы
- scanf("%s",&cli->Fam);
Решение задачи: «Ввод строки в структуру»
textual
Листинг программы
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- struct Student
- {
- char * Surname;
- };
- int main()
- {
- Student *S = (struct Student*)malloc(sizeof(struct Student));
- S->Surname = malloc(150);
- scanf("%149s", S->Surname);
- system("pause");
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек:
(ввод/вывод), (работа с памятью), (работа со строками). - Создание структуры
Student
с одним полем Surname типа char*. - Выделение памяти под указатель на структуру
Student
с помощью malloc. - Выделение памяти под строку Surname внутри структуры с помощью malloc.
- Ввод строки Surname с помощью функции scanf, которая считывает строку, состоящую из 149 символов (или менее) в указанную переменную.
- Вывод на экран сообщения о завершении работы программы с помощью функции system(
pause
). - Возврат 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д