0
그래서 저는 쉘을 만들고 있고 구현중인 하나의 명령은 프롬프트입니다. 이것은 인수를하고 프롬프트로,하지만 인수가 그 다음 사용자 입력을 요청할 것를 입력하지 않으면 ..... 이들은 매우 몹시 그래서 여기에 표현 된 예제가 있다고 사용을 설정합니다 :사용자 입력을받을 때 오류가 발생 했습니까?
[SHELL] prompt code
code[SHELL] ls
code[SHELL] ....
또는
[SHELL] prompt
please enter a prefix: (user input goes here, say code again)
code[SHELL]
이제 첫 번째 상황은 사용자의 입력을 요청, 내가 인수없이 프롬프트하려고하지만 경우에, 잘 작동하지만 내가 그것을 입력 할 때, 그것은 오류를에 세그먼트와 그 이유를 모르겠어요.
이
내가 지금까지 가지고있는 코드 :void prompt(char *target)
{
if(!target)
{
printf("Please enter a prefix: ");
scanf("%s", &target);
}
char *result = malloc(strlen(SHELL) + strlen(target) + 1);
strcpy(result, target);
strcat(result, SHELL);
SHELL = result;
}
어떤 아이디어? 어쩌면 그것은 단지 내 실수 일 뿐이지 만, 이것이 효과가있는 것처럼 보입니다.
내 코드에서 "쉘"은 "[MY_SHELL] :"인 char arrray의 매크로입니다.
아, 감사합니다. 이것은 효과가 있었다. (나는 1000을 malloc에 보관하지 않고 10으로 시도했다.) 그래도 작동했다. 그래서 고마워! – VakarianWrex