我有个问题。我拥有的这个函数需要清除所有非字母字符的字符串,同时将所有字母字符小写。使用指针,p_fast
检查字符串中的字符是否为isalpha
; 如果是,则将字符存储到p_slow
. 在整个字符串中执行此操作后,\0
将添加一个字符以完成字符串。在此之后,我需要将刚刚清理和小写的字符串中的第一个字母大写。
/**********************************************************************/
/* Clean up customer names */
/**********************************************************************/
void clean_names(int quantity,
struct customer *p_customer_records_start)
{
struct customer *p_customer;
char *p_fast = p_customer_records_start->customer_name,
*p_slow = p_customer_records_start->customer_name;
for(p_customer = p_customer_records_start;
(p_customer-p_customer_records_start) < quantity; p_customer++)
{
p_fast = p_customer->customer_name;
p_slow = p_customer->customer_name;
while (*p_fast != END_OF_STRING)
{
if(isalpha(*p_fast))
*p_slow++ = tolower(*p_fast);
p_fast++;
}
*p_slow = END_OF_STRING;
}
return;
}
我不知道如何回到字符串的开头。我在互联网上找不到任何东西。如果有人可以提供帮助,那就太好了!如果您需要更多信息,请询问。