Ввод строки в структуру - 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, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д