【发布时间】:2021-07-22 05:22:53
【问题描述】:
我对 C 中的链表相当陌生,我很确定我走在正确的轨道上,但我一直坚持这一点,因为我不知道是什么导致了这个输出。这会导致问题,因为由于字符串格式的奇怪行为,我在搜索节点时无法匹配字符串。
我尝试过node->title[strcspn(node->title, "\n")] = 0;,但是当我在插入方法中使用它时,它并没有做我想做的事情。例如,我们有 Title: [HARDWARE\n] 并调用 (strcspn) 它会导致
[Title: [HARDWARE 而不是Title: [HARDWARE]
附:我只是使用方括号来解释字符串中多余的无关字符,因此我可以使用 strcmp() 比较它们。
有谁知道如何解决这个问题?
Enter title:
HARDWARE
TITLE to search for: [HARDWARE]
Current: []
]urrent: [ELECTRONICS
]urrent: [OUTSIDE GARDEN
]urrent: [INDOOR GARDEN
]urrent: [MILLWORK
]urrent: [LUMBER
]urrent: [APPLIANCES
]urrent: [HARDWARE
...
这是在使用上述任一行后打印 curr->title 时的输出。 我唯一做的另一件事是在我的主目录中列出打印列表下方的菜单以提供其他功能,但这是与填充链接列表中的节点相关的逻辑。
【问题讨论】:
-
在
strcspn中尝试"\r\n"而不是"\n"。
标签: c struct linked-list singly-linked-list c-strings