0
사용자 입력에서 파일 이름을 읽으려는 중, 지정한 파일을 열려고합니다. 내가 얻는 문제는 입력의 끝 부분에 정크 문자가 추가 된 것 같다. (userInput 변수를 printf() 할 때 이것을 발견했습니다.)읽기 시스템 호출 정크 문자
if(read(0, userInput, 128) < 0)
write(2, "An error occurred in the read.\n", 31);
어떤 문제가 있습니까? 내가 바로 codewiki에서 감사
좋아요, 그렇다면 사용자로부터 읽은 후 수동으로 Null 문자를 추가해야한다는 의미입니까? 또한 strcat (userInput, "\ 0") 시도했지만 여전히 정크 – user3299369
점점 위의 코드 printf ("CHECK1 % s CHECK2", userInput); printf ("SECOND % s PART", userInput); 제대로 읽었는지 확인해야하지만 문자열이 인쇄 된 후에 이상한 기호를 얻게됩니다 (printf 문의 % s 이후). – user3299369
'strcat'은 C 문자열에서만 작동합니다. catch-22 (BTW는 아무 작업도하지 않습니다). 'input [pos] = 0' –