Conversation
iz1/include/html_tag/attr.h
Outdated
| // | ||
| // Created by Pavel Cheklin on 11/10/2020. | ||
| // | ||
|
|
iz1/include/html_tag/attr.h
Outdated
| { | ||
| char *name; | ||
| char *value; | ||
| } tag_attr; |
There was a problem hiding this comment.
опционально: иногда для typedef struct используют постфикс _t. tag_attr_t
| char *value; | ||
| } tag_attr; | ||
|
|
||
| bool check_attr_format(const char *str, size_t *attr_end); |
There was a problem hiding this comment.
поясни сигнатуру. речь о проверке формата, но при этом есть второй аргумент.
кажется, что для проверки формата достаточно сигнатуры:
bool check_attr_format(const char* ftm);
либо проблема в дизайне, либо явно стоит указать комментарием назначение второго аргумента
iz1/include/html_tag/html_tag.h
Outdated
|
|
||
|
|
||
|
|
There was a problem hiding this comment.
зачем столько пустых строк?
iz1/src/alg.c
Outdated
| int i = 0; | ||
| while (str[i] != c && str[i] != '\0') | ||
| ++i; | ||
| return i; // str[i] == c ? i : -1; |
There was a problem hiding this comment.
закомменченнй код нужно убирать
|
|
||
| #include <string.h> | ||
|
|
||
| int str_find(const char *str, char c) |
iz1/src/attr.c
Outdated
| if (str[i] == ' ') | ||
| ok = false; |
iz1/src/attr.c
Outdated
| size_t eq_pos = str_find(str, '='); | ||
| bool ok = true; | ||
| if (str[eq_pos] == '\0') | ||
| ok = false; |
iz1/src/attr.c
Outdated
|
|
||
| for (int i = 0; ok && i < eq_pos; ++i) | ||
| if (str[i] == ' ') | ||
| ok = false; |
iz1/src/attr.c
Outdated
| if (str[i] == ' ') | ||
| ok = false; | ||
|
|
||
| if (ok) |
There was a problem hiding this comment.
этот иф в этом случае будет не нужен
|
@IlyaSaneev, все подправил |
iz1/src/attr.c
Outdated
| for (int i = 0; i < eq_pos; ++i) | ||
| if (str[i] == ' ') | ||
| { | ||
| return false; | ||
| } |
There was a problem hiding this comment.
тело фор в {}, а тело if - нет
| #include "my_str/mem.h" | ||
| #include "my_str/alg.h" | ||
|
|
||
| bool check_attr_format(const char *str, size_t *attr_end) |
|
@IlyaSaneev, готово, добавил еще проверок на nullptr в функции с обработкой строк |
Вариант #23
Создать структуру для хранения информации об HTML-теге: его имени, признаке «открывающий/закрывающий» и атрибутах тега. Составить с ее использованием программу, включающую в себя функцию, принимающую на вход текстовую строку с одним тегом. На выход функция должна возвращать указатель на инициализированную структуру.