#include<stdio.h>
#include<string.h>
int main(){
char path[] = "/fs/lost+found";
char* temp;
temp = strtok(path,"lost+found");
while(temp != NULL){
printf("\n %s \n",temp);
temp = strtok(path,"lost+found");
}
return 0;
}
Я хотел извлечь строку, потерянную + найденную. Выше программа переходит в бесконечный цикл и печатает «/», который перед разделителем «потерял + нашли»ошибка сегментации с strtok
[корень @ RS] # ./a.out вина Сегментация
Я не вижу вопроса, также, включите предупреждения компилятора, также, переписывая строки - это неопределенное поведение. – fuz
Прочитайте документацию для strtok. После того как вы пройдете «путь» в первый раз, вы должны передать NULL при последующих вызовах, чтобы продолжить работу над той же строкой. – abelenky