open함수로 파일을 열고 그 파일내용의 특정 부분만 뽑아내는 법을 알고싶습니다 ㅜㅜ;;;
글쓴이: kywpcm / 작성시간: 수, 2011/06/01 - 7:11오전
거의 처음 리눅스 프로그래밍을 하는 사람입니다.. ㅜㅜ
/proc/pid/ 밑의 smaps라는 파일을 열어서,
(smaps파일은 cat으로 실행하면 그 프로세스의 가상메모리나 물리메모리 할당 크기등을
터미널 상에서 보여줍니다.)
지금 제가 만들고 있는 프로그램에서는,
이파일을 open함수로 열어서 특정 부분만을 문자열이나 숫자로 뽑아서,
그 데이터를 다시 다른 것에 써야 하는데,
제가 원하는 부분만의 정보를 뽑아내는 것을 어떡할지 막막합니다.
strcmp함수로 해야하나, 아니면 open으로 열어서 한다는 것부터 잘못 되었나요?
고수님들, 조언 부탁드립니다!!!
Forums:
이미 그렇게 하셨을 것 같습니다만 open으로 열어서
이미 그렇게 하셨을 것 같습니다만
open으로 열어서 줄단위로 읽어서 str(n)cmp()를 쓰면 되겠네요.
getline() + strtok() 조합도 한번 고려해 보세요...
getline()으로 파일에서 한줄씩 읽어들여서
구분자를 사용하여 strtok()로 끊어 내는 방법도 한번 고려해 보세요.
man getline, man strtok 하시면 주의 사항도 몇가지 있습니다.
getline()은 free()를 해주어야한다던가,
strtok()는 원본을 훼손하므로 복사해서 써야한다던가...
물론, 줄단위로 읽어오는 함수가 getline()만 있는건 아니구요,
원하는 부분을 커팅해 내는 기법이 strtok()만 있는건 아닙니다^^
------------------ System programmer...^^
댓글 달기