如何使用C中的2個分隔符剪切字符串?如何使用2個分隔符剪切字符串
我收到來自用戶的字符串,在這個平臺上:
cp <path1> <path2>
我需要得到pathes進入一個新的字符串(每個路徑,將一個字符串)。
我試圖使用strstr
和strtok
但它不起作用。
我不知道路徑的長度。我也只知道他們以" \"
(這是我的分隔符(space + \
))開頭。
這就是我試圖 的#include 的#include 的#include
int main()
{
char *c;
char *ch = malloc(1024);
while (strcmp(ch, "exit"))
{
scanf("%[^\n]%*c", ch); //what was the input (cp /dor/arthur /king/apple)
c = malloc(sizeof(strlen(ch) + 1));
strcpy(c, ch);
char *pch = strtok(c, " //");
printf("this is : %s \n", pch); //printed "this is: cp"
}
}
你是什麼意思,它不工作? strstr和strtok允許你找到一個字符串中的東西,他們應該是完美的工作。 – Gigi
請給我們看看你的嘗試。 – alk
你確定自己有沒有空白(空格)? – alk