[완료]unix c 코딩 관련 질문입니다..
글쓴이: skillzmjay / 작성시간: 금, 2011/09/23 - 10:45오전
안녕하세요
헤더파일에서 원하는 구조체의 내용을 발췌하고 싶은데
어떤식으로 할지 감이 잘 안잡히네요;;
typedef struct {
char aaa[12];
char bbb[11];
char ccc[23];
char ddd[22];
} A_S;
typedef struct {
char b_aaa[12];
char b_bbb[11];
char b_ccc[23];
char b_ddd[22];
} B_S;
예를 들면 헤더파일에 다음과 같은 구조체들이 있을때
B_S 구조체내 변수의 길이를 뽑아내고 싶습니다. (12, 11, 23, 22)
한줄씩 순차적으로 읽으면서 B_S 란 문구를 찾을수 만 있다면 쉽게 구현할수
있을거 같은데 구조체 정의가 항상 '} 0000;' 이런식으로 중괄호에 한칸띄고
구조체명이 정의되었다고는 확신할순 없습니다. (그래서 memcmp 를 못쓰겠습니다...)
제가 생각하는 방식은 한줄씩 읽으면서 파이프를 통해 grep 으로
해당 구조체명이 있는지 확인하면 될거 같은데 (grep 한 결과를 strlen 했을때 0이 아닌걸 찾으면 되겠죠?) 이걸 어떻게 구현해야할지 모르겠네요;
fgets, fprintf, stdout, popen, grep...등등이 떠오르는데 정리가 안되네요 ㅠㅠ
고수님들 도움좀 부탁드립니다! 굽신굽신
Forums:
아..이거 삭제안되나요 ㅠㅠ
echo 를 쓰면 되겠네요..게시판 더렵혀서 죄송합니다.
간단하게는 아래처럼 할 수
간단하게는 아래처럼 할 수 있겠네요..
struct안에 nested 중괄호가 있는 경우는 안되고요. 그밖에 안되는 경우도 있을 수 있습니다.
아.. 원하는 스트럭쳐만 골라서 하려면 첫번째
아.. 원하는 스트럭쳐만 골라서 하려면
첫번째 perl의 /}/ 부분을 /}\s*B_S\s*;/로 하시면 되겠네요..
perl 이 안먹네요;;; ksh: perl:
perl 이 안먹네요;;;
ksh: perl: 찾을 수 없음
ksh: perl: 찾을 수 없음
댓글 달기