【发布时间】:2010-06-17 18:45:16
【问题描述】:
在配置文件中我有类似的条目:
文件路径 = c:\Program Files\某个值
路径可以包含空格并且该字符串上没有引号。我尝试用 strtok 解析这个:
char *option;
char *value;
value = strtok(line, " =");
strcpy(option, value);
value = strtok(NULL, " =");
其中 line 是我从文件中读取的行,选项将包含等号的左侧(文件路径),值将包含右侧(c:\program files\some value)。 我知道,这是糟糕的编码,但我还没有找到更好的东西。对不起... 无论如何,对于那些右侧没有空格的选项,它的效果很好,但在那些包含空格的选项中,它只返回字符串直到第一个空格:c:\Program。
还有其他方法吗?
感谢代码。 杰西卡
【问题讨论】:
-
strtok 的第二个参数给出了多个分隔符,每个分隔符将分割字符串。所以“=”将在空格或等号上分割。