inflearn logo
강의

講義

知識共有

Linuxシステムプログラミング

Pipe-1

17분 2초에

128

ksk28110004

投稿した質問数 5

0

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 이 없어서 이상한 문자가 출력되지만요...

linux 운영체제 linux-kernel ipc pthread system-programming

回答 1

0

jikim1770

안녕하세요.

말씀하신 대로 설명이 애매 한게 있네요.

hello, world #1만 출력되는 이유는 \n가 없어서가 아니라 msg1, msg2, msg3 까지는 버퍼에 읽었지만 printf가 hello, world#1\0 까자만 첫번째 문장으로 해석해서 출력했기 때문이 맞습니다.

printf("%s\n", inbuf) 문에서 \n가 없었으면 전체가 안찍혀야 맞는데 \n가 있어서 첫번째 문장만 한문장으로 인식하여 출력된 것입니다.

좋은 지적 감사합니다.

강의 슬라이드 문서 자료에 24~28강 자료가 누락된것 같습니다.

0

43

1

강의 슬라이드 문서 자료에 24~28강 자료가 누락된것 같습니다.

0

65

2

쓰레드 상태 관련 질문입니다.

0

50

2

다운로드 받은 교안에 해당 내용이 없는것 같습니다.

0

52

3

DACL 질문

0

56

1

DLL 제작자가 PDB도 같이 제공해야 한다는 설명에 질문

0

50

2

강의에 필요한 패치파일 질문

0

70

1

노션공유 요청드립니다

0

61

1

실습 관련 T32설치 오류 질문

0

91

2

강의 전체 수강 및 수료 관련

1

62

1

덤프 파일 제공

0

66

1

라즈베리파이 어떤 모델 사시는걸 추천하나요?

0

72

1

실습을 위한 운영체제

0

70

2

에이전트 프로그램 다운로드 불가

0

98

2

Segger 사의 SystemView를 이용하여 디버깅해 보고 싶어요

0

55

1

강의 내용 관련 문의드립니다.

0

70

2

ISR에서 xEventGroupSetBitsFromISR() 함수를 사용하려고 합니다.

0

61

1

logicsniffers에서 문맥전환 할때 prvExampleTaskHook() 함수 호출 관련

0

53

2

섹션 2 DNS 강의자료가 34페이지가 마지막일까요?

1

102

2

CFLAGS에 -c 옵션 넣는게 맞는지 궁금합니다.

0

115

1

함수 메뉴얼을 보기 위한 단축키

0

148

1

혹시 고급과정의 경우 하반기 몆월쯤 나올까요?

0

180

2

혹시 고급과정도 출시가 되는지요?

0

240

1

네트워크 환경설정 오류

0

496

1