我有類似這樣的一個條目的配置:解析串關在配置文件中使用的strtok用C
文件路徑= C:\ Program Files文件\一些價值
所在路徑可以包含空格和有在該字符串上沒有引號。
char *option;
char *value;
value = strtok(line, " =");
strcpy(option, value);
value = strtok(NULL, " =");
其中線是我從文件中讀取行,選項將包括相等(文件路徑)的左側和值將包含右側(C:我試圖像strtok的解析這個\程序文件\一些值)。 我知道,這是糟糕的編碼,但我還沒找到更好的東西。對不起... 在任何情況下,對於那些右側沒有空格的選項,它的效果很好,但是在那些包含空格的選項中,它只會返回字符串,直到第一個空格:c:\ Program。
有沒有其他方法可以做到這一點?
代碼表示讚賞。 傑西卡
的第二個參數的strtok採取給人一種數量的分隔符,每個將分割字符串。所以「=」會在空間或等號上分割。 – Sjoerd 2010-06-17 18:49:10