[英]How do I compare length of two strings of two struct members?
我對 C 非常陌生。
我有一個問題,我試圖找到名字最長的學生並將他們從我的鏈接列表中刪除。 為此,我需要比較 comp *name; 的長度。 對於結構的每個成員。
struct birthday{
char *name;
...
struct list_head list;
};
LIST_HEAD(birthday_list);
int simple_init(void)
{
struct birthday *person;
person = kmalloc(sizeof(*person), GFP_KERNEL);
person->name = "Alicia";
INIT_LIST_HEAD(&person->list);
list_add_tail(&person->list, $birthday_list);
person = kmalloc(sizeof(*person), GFP_KERNEL);
person->name = "Ben";
INIT_LIST_HEAD(&person->list);
list_add_tail(&person->list, $birthday_list);
person = kmalloc(sizeof(*person), GFP_KERNEL);
person->name = "Dave";
INIT_LIST_HEAD(&person->list);
list_add_tail(&person->list, $birthday_list);
...
struct birthday *ptr;
list_for_each_entry(ptr, &birthday_list, list)
{
printk(KERN_INFO "Name: %s\n",
ptr->name);
}
}
我正在尋找的是將 Alicia 與 Ben 進行比較,將 Alicia 存儲為較長的名稱,將 Alicia 與 Dave 進行比較,並從鏈表中刪除 Alicia 節點。 我嘗試了很多事情都無濟於事。 如果有人有
對於字符串比較,請嘗試strlen()
。
size_t strlen ( const char * str );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.