- 1 курс
- 2 курс
- 3 курс
- 4 курс
- 5 курс
- 6 курс
Old
Old
This is an old revision of the document!
Задание:
1. Создайте проект, состоящий из пяти файлов: main.c, print_str.c, get_name.c, print_str.h, get_name.h в каталоге, имя которого содержит Ваше имя, Фамилию и номер лабораторной (например, ivanov_ivan_1).
2. После того, как Ваш проект будет готов, создайте для него Makefile.
В результате:
Файлы, созданные в процессе компиляции выкладывать не требуется!
Заголовочный файл стандартной библиотеки, который содержит функции консольного ввода/вывода:
stdio.h
Заголовочный файл стандартной библиотеки, который содержит функции обработки строк и управления памятью:
string.h
Прототип функции вывода строки str:
int puts(const char *str);
Прототип функции конкатенации строк:
char * strncat( char * destptr, char * srcptr, size_t num );
Функция добавляет первые num символов строки srcptr к концу строки destptr, плюс символ конца строки. Если строка srcptr больше, чем количество копируемых символов num, то после скопированных символов неявно добавляется символ конца строки. Подробнее
Описание функции для ввода массива символов name (предполагается, что строка не содержит более 80 символов):
char* get_name(){ char* name = (char*)malloc(80*sizeof(char)); int i = 0; char ch; while ((ch = getchar()) != '\n') { name[i] = ch; i++; } name[i] = '\0'; return name; }
Описание главной функции:
int main(){ char hello[90] = "Hello, "; char* result; result = get_name(); print_str(strncat(hello, result, 80)); free(result); return 0; }