17분 2초에
66
5 asked
17분 2초 쯤
printf("%s\n", inbuf);
의 출력 결과가 hello, world #1 이고
나머지 데이터가 안 찍힌 이유로
개행이 없다고 설명해 주셨는데
이 부분이 조금 애매한 것 같습니다.
inbuf 에는 아래와 같이
hello, world #1\0hello, world #2\0hello, world #3
입력한 데이터가 다 들어있고 널문자까지 있습니다.
그걸 printf("%s\n" ...) 출력하다 보니
버퍼 중간의 null 을 만나서 문자열 끝으로 인식해서 출력이 종료된고
write 함수로 MSGSIZE 대신 null 문자를 제외한 사이즈 MSGSIZE - 1 로 출력하면
printf 가 msg1, msg2, mg3을 다 찍네요
null 이 없어서 이상한 문자가 출력되지만요...
Answer 1
0
안녕하세요.
말씀하신 대로 설명이 애매 한게 있네요.
hello, world #1만 출력되는 이유는 \n가 없어서가 아니라 msg1, msg2, msg3 까지는 버퍼에 읽었지만 printf가 hello, world#1\0 까자만 첫번째 문장으로 해석해서 출력했기 때문이 맞습니다.
printf("%s\n", inbuf) 문에서 \n가 없었으면 전체가 안찍혀야 맞는데 \n가 있어서 첫번째 문장만 한문장으로 인식하여 출력된 것입니다.
좋은 지적 감사합니다.
안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.
0
13
1
REST API (Self-descriptive messages)
0
22
1
프로젝트 질문 문의
0
45
1
시스템 엔지니어 관련 질문입니다.
0
50
2
Unauthorized 에러
0
42
2
inotify 객체에 등록된 watch descriptor 해제 관련 질문
0
37
2
select API 실습 코드 질문
0
40
2
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
57
2
여러 의문점
1
63
1
72강의 DNS개념(수업자료)에 자료가 없어서 문의 드립니다.
1
55
2
오버라이딩 관련하여 질문드립니다.
0
61
2
CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.
1
57
2
CPU Bound Process와 sleep, yield에 대해
1
60
1
권한 기본값 질문
0
54
2
Critical Section과 SRWlock의 차이
0
98
2
openclaw 실행 실패
0
559
1
STM32 포팅할 때 STM32 Project가 없음
0
148
2
교재 있나요? 서브 노트 있나요?
0
60
1
FreeRTOS 멀티코어 지원안됨?
0
83
2
CFLAGS에 -c 옵션 넣는게 맞는지 궁금합니다.
0
56
1
함수 메뉴얼을 보기 위한 단축키
0
89
1
혹시 고급과정의 경우 하반기 몆월쯤 나올까요?
0
106
2
혹시 고급과정도 출시가 되는지요?
0
145
1
네트워크 환경설정 오류
0
388
1

