gpt4 book ai didi

c - C语言中将字符数组拆分为名字、中间名和姓氏,如果中间名为空则跳过中间名

转载 作者:行者123 更新时间:2023-11-30 16:48:28 25 4
gpt4 key购买 nike

token1 = strtok(udtAddressVar.strName, " ");
strcpy(udtAddressVar.strFirstName, token1);
token1 = strtok(NULL, " ");
strcpy(udtAddressVar.strMiddleName, token1);
token1 = strtok(NULL, " ");
strcpy(udtAddressVar.strLastName, token1);

使用此代码,但当没有中间名时会失败。例如,适用于“John Henry Blue”,但不适用于“Brad Henry”

最佳答案

与大多数事情一样,测试函数的结果以确保它完成了您认为的功能始终是个好主意。通过这样做,您也可以解决您的问题。

token1 = strtok(udtAddressVar.strName, " ");
if(token1)
{
strcpy(udtAddressVar.strFirstName, token1);
token1 = strtok(NULL, " ");
if(token1)
{
strcpy(udtAddressVar.strMiddleName, token1);
token1 = strtok(NULL, " ");
if(token1)
{
strcpy(udtAddressVar.strLastName, token1);
}
else
{
strcpy(udtAddressVar.strLastName, udtAddressVar.strMiddleName);
*udtAddressVar.strMiddleName='\0';
}
}
}

您还可以进一步扩展此范围,以处理您也有 2 个或更多中间名的情况。

关于c - C语言中将字符数组拆分为名字、中间名和姓氏,如果中间名为空则跳过中间名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42952091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com