所以我正在做一个小项目,而我想获取模拟数据并将它们分成结构。但我在考虑具有多个名字和/或姓氏的人的问题。
我想像您一样写名字(如“Michael”)和所有大写字母的姓氏(如“JAMESON”)。
但是,如果我读到像 Michael Daniel VAN DOORNE 这样的名字怎么办?我不知道如何区分“Michael Daniel” "作为名字,"VAN DOORNE"作为姓氏。我试图通过在第一个大写字母处停止来分隔,但我当然也会将某人名字中的第一个字母大写。
示例:
我想读Michael Daniel VAN DOORNE,并将其分为“Michael Daniel”作为名字,“VAN DOORNE”作为姓氏。
sscanf(buffer, "%s %s", firstName, lastName);
那自然行不通。但我有点坚持要为具有多个名字和姓氏的模拟名称提出解决方案。
最佳答案
由于您似乎完全控制了数据,我宁愿推荐一种不同的方法:
名字和姓氏之间的特定分隔符。然后你不再依赖区分大小写,特别是出现在另一个答案中的单个字符名称问题不再是问题。
分隔符应该是永远不会出现在任何名称中的字符,例如制表符(与空格相反)、#
、'|'、...甚至逗号或分号应该没问题,尽管句点可能出现在缩写名称中,因此不应使用。
关于c - 在 C 中分隔多个名字和/或姓氏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53540199/