LEX의 입력 파일에 텍스트 삽입 (C와 함께)
-
22-07-2019 - |
문제
나는 대학 과제에서 친구를 돕기 위해 노력하고 있지만, 나는 많은 C an Lex를 잊었습니다.
문제는 HTML과 통신원 CSS 파일을 구문 분석하고 스타일의 태그에 추가하려고합니다.
예 :
HTML
<body>
</body>
CSS
body{color:black;}
수정 된 HTML
<body style="color:black;">
</body>
모든 정규식이 완료되고 매크로도 완료되었습니다.
문제: 입력 HTML 및 수정 된 HTML은 동일한 파일이어야합니다. 우리는 둘 다 리디렉션을 시도했습니다 이린 그리고 yyout 같은 파일에 ... 그런 다음 fputs (텍스트, yyout)를 사용합니다. 여기서 텍스트는 모든 스타일 정보 (및 Style = "")를 가진 숯 *입니다. 작동하지 않습니다.
그래서 ... 당신은 그를 도울 수 있습니까?
파일의 위치 개념을 잃지 않는 것이 중요합니다 (따라서 Style = ""는 올바른 태그로갑니다).
감사
해결책
Yyin과 Yyout을 동일한 파일로 리디렉션하면 작동하지 않습니다. (이미 알고 있듯이). 내 접근 방식은 다음과 같습니다.
- 임시 파일을 만듭니다
- Yyout은 Temp 파일에 씁니다
- 구문 분석이 완료되면 안전을위한 백업 입력 파일
- 입력 파일을 임시 파일로 바꾸십시오
yyout이 yyin과 동일하다면 (원래 입력) 텍스트가 겹치게됩니다.
제휴하지 않습니다 StackOverflow