c - 在 C 中分隔多个名字和/或姓氏

标签 c

所以我正在做一个小项目,而我想获取模拟数据并将它们分成结构。但我在考虑具有多个名字和/或姓氏的人的问题。

我想像您一样写名字(如“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/

相关文章:

c - 我如何制作一个不会被优化掉的无限空循环?

c++ - 映射共享库部分 : libhmmm. 时出错,因此:成功

c++ - 声明函数静态和后来的非静态 : is it standard?

c - 两个数组 C 中的输出不正确

c - 声明并定义函数 distance() 以查找 c 中两点 (x[0], y[0]) 和 (x[1], y[1]) 之间的欧氏距离

c - 在 C 中返回动态分配的结构时出现未处理的异常

c - 为什么返回指向局部变量或参数的指针是不好的做法?

c - XCode编译C代码时出现问题

c - 解码 PRF 文件

c - 不使用 TerminateThread() 优雅地终止线程