inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 시스템 프로그래밍 - 이론과 실습

파일 열기/닫기 - 라이브 프로그래밍

파일읽기에 대해서 질문이 있습니다.

240

젓인

작성한 질문수 158

0

선생님 코드 기반에서

만일 data 파일에

hello world!

hello world2!

이렇게 2줄이 입력되어 있는 상황에서 2줄을 어떻게 한 번에 읽을 수 있나요?

기존 코드에선 마지막 줄 입력을 받지 못하는 것 같습니다.

linux

답변 5

0

젓인

감사합니다

0

젓인

감사합니다

0

젓인

감사합니다

0

젓인

감사합니다

0

런잇(ProgCoach4U)

fgets() API는 주어진 사이즈 내에서 EOF(파일의 끝)이나 newline(n)을 만날때까지 읽습니다. 즉, 한번에 한줄씩 읽는다는 의미가 되겠습니다. 따라서 두 줄이 입력된 파일에 대해 fgets()로 한꺼번에 두 줄을 읽을 수는 없습니다. fread() API를 이용하면 줄 수에 관계없이 한번에 데이터를 사이즈만큼 읽어옵니다. 다만, 두 줄만 있는 경우엔 한꺼번에 두 줄을 읽어올 수 있겠지만, 세 줄 이상이 있는데 두 줄만 읽어올 수는 없습니다. fread() API는 newline에 관계없이 사이즈 만큼 읽어오기 때문입니다. 줄 단위로 읽기 위해서는 fgets()를 반복 호출하는 방법이 좋을 것 같습니다. 도움이 되셨길 바랍니다 :)

inotify 객체에 등록된 watch descriptor 해제 관련 질문

0

37

2

select API 실습 코드 질문

0

41

2

wsl에서 fcntl사용

0

74

2

inotify_event 구조체 질문 [파일 이벤트 - 라이브 프로그래밍]에서...

0

181

2

./stat 파일이름

0

274

2

fopen r, r+모드 차이

0

460

2

강의를 모두 수강하고 스스로 구현하면 좋을 과제나 프로젝트 주제가 있을까요?

0

327

1

pthread 질문

0

420

2

I/O Multiplexing(select) 질문

0

326

1

inotify.c. ret 질문

0

303

1

inotify.c 질의합니다.

1

318

1

child process

0

715

1

read/blocking

0

566

1

flock

0

566

1

system call

0

599

1

pthread_create() 함수 이용했을 때, thread가 두번 호출되는 것 처럼 나타납니다. 왜 그런것인가요?

0

487

1

fork() 함수 사용시 결과 관련 질문

0

372

1

exec 관련 궁금한 사항

0

451

2

파일 디스크립터와 FILE 구조체에 대한 질문

0

553

1

buf 선언에 따른 read() fail 문제

0

252

2

파일 이벤트 - 라이브 프로그래밍 에서 캐스팅 질문

0

255

1

2번 multi thread 방법 질문

0

243

1

segmentation fault 발생 관련 문의

1

843

1

라이브 코딩 실습 코드

0

236

1