HOME > 게시판 > 프로그래밍
게시판| 프로그래밍
※ 게시판 용도에 맞지 않는 글(광고및 홍보 글 등)은 임의삭제될 수 있습니다.

 
작성일 : 13-10-02 15:00
리눅스 프로그래밍 시 배열에 들어간 '\n' 개행문자 처리
 글쓴이 : Edios
조회 : 1,419  
파일에서 buf에 저장된 개행문자를 다른 배열 writeArray에 저장을 한 후 
write로 writeArray을 해당 크기만큼 즉 write(파일, writeArray, strlen[writeArray])을 하면
개행문자가 출력이 안됩니다.
그래서 따로 strlen과 같은 역할을 하는 함수를 생성해서 write해도
출력한 파일을 열면 \00라는 문자가 나오고
줄바꿈이 되질 않습니다.

리눅스 프로그래밍에서 줄바꿈은 어떻게 파일에 출력해야하는지 궁금합니다.
고수님들의 답변 부탁드립니다.

** 혹시 파일에 쓸 때 lseek으로 쓰는 지점을 옮기지 않으면 이같은 일이 발생하나요?

이 글을 트위터로 보내기 이 글을 페이스북으로 보내기

AltF4 15-08-20 17:02
 
첫번째 질문에 대해서는 가능성이 여러 가지가 있어보이는데,buf 에 저장된 개행문자를 writeArray 에 저장하는 과정의 C 코드가 있어야 정확히 무슨 문제가 있는 지 알 수 있을 것 같고, writeArray 만큼의 문자를 쓰고 나서 그 뒤에 \n 이 붙게 하는 것을 원하시는 거라면, write 에는 스트링 끝에 개행문자를 추가해 주는 기능이 있지는 않기 때문에 수동으로 해주셔야 할 것 같습니다.

두번 째 질문에 대해선, 리눅스에서는 줄바꿈은 '\n' 문자를 출력하도록 하면 시행된다고 알고 있습니다.