我正在尝试从以下字符串中提取城市;
Kmart,200 Irwin Ne,佛罗里达州沃尔顿堡滩
我编写的代码遍历字符串,我可以提取它;
佛罗里达州沃尔顿堡滩
但是,我不明白如何有效地提取城市。我可以使用 strlen 提取状态,但这对城市不起作用。
void getCity(char strCity[], const char strLine[])
{
char newLine[MAX_CHARS_PER_LINE+1];
char newCity[MAX_CHARS_PER_LINE+1];
strcpy(newLine, strLine);
char* token = strtok(newLine, ",");
if(token != NULL)
{
token = strtok(NULL,",");
token = strtok(NULL, ",");
}
strcpy(newCity, token);
strcpy(strCity, token);
最佳答案
获取您拥有的字符串 ("Fort Walton Beach FL"
) 并反向搜索“第一个”(实际上是最后一个)空格。使用例如strrchr
去做。
然后将该空格更改为字符串终止符 '\0'
,该字符串将变为 "Fort Walton Beach"
。
增加指向(前)空间的指针,如果您还需要的话,您将有一个指向状态第一个字符的指针。
关于c - 如何分离特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014330/