簡體   English   中英

如何比較兩個結構成員的兩個字符串的長度?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM