화일에 있는 문자 및 숫자에서 원하는 부분만을 어떻게 읽나요?
글쓴이: midasyoo / 작성시간: 월, 2003/10/13 - 10:09오후
초보라서 고수님들께 질문을 드립니다.
화일에 저장되어 있는 문자 및 숫자를 읽으려고 합니다.
화일에 저장되어 있는 정보는 아래와 같습니다.
- 아래 -
I / F |bytes packets errs drop fifo frame compressed lo: 109399 1067 0 0 0 0 0 eth0:1051465463 158252053 0 0 0 0 0
위의 내용중에서 packets의 1067을 읽으려면, 어떻게 코드를 짜야 하나요?
그리고, 109399와 1067사이의 구분은 어떻게 하여야 각각의 값을 읽을수 있나요?
고수님들의 지도 부탁드립니다.
Forums:
음.. -_-
man 3 string
C에서 string 처리를 하기 위하여 꼭 알아두어야 하는 함수들입니다.
Whitespace (빈칸)에 대해서는 man 3 isspace 를 참고하시면 됩니다.
thread 프로그램이 아니라면, strtok을 써보세요. 편리합니다
thread 프로그램이 아니라면, strtok을 써보세요.
편리합니다.
http://www.gnu.org/manual/glibc-2.2.3/html_chapter/libc_5.html#SEC79
Lum7671's Weblog
sscanf 나 fscanf 를 사용하시면 탭이던 스페이던 빈자리 담에
sscanf 나 fscanf 를 사용하시면 탭이던 스페이던 빈자리 담에 오는 문자나 숫자를 읽수 있음니다.
예로
if(6 == fscanf (fd, "%*s %lu %*lu %lu %*lu %lu",&memtotal ,&memfree ,&buff));
*가 가운데 있으면 건너 뛰는겁니다.
이것이 도움이 됬으면 하네용
hi 용
/proc/net/dev 화일로 디바이스 패킷 조사 하실려구 하는거 같은
/proc/net/dev 화일로 디바이스 패킷 조사 하실려구 하는거 같은데...
if(5 == sscanf(dev_buffer, " %[^:]: %lu %lu %*lu %*lu %*lu %*lu %*lu %*lu %lu %lu",&dev_tmp1,&rbyte,&val1,&tbyte,&val2))
이렇게 사용하시면 될겁니다.
그럼 앞에 있는 디바이스명과 : 와 바이트수가 구분이 됩니다.
hi 용
댓글 달기