문제

나는 대학 과제에서 친구를 돕기 위해 노력하고 있지만, 나는 많은 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을 동일한 파일로 리디렉션하면 작동하지 않습니다. (이미 알고 있듯이). 내 접근 방식은 다음과 같습니다.

  1. 임시 파일을 만듭니다
  2. Yyout은 Temp 파일에 씁니다
  3. 구문 분석이 완료되면 안전을위한 백업 입력 파일
  4. 입력 파일을 임시 파일로 바꾸십시오

yyout이 yyin과 동일하다면 (원래 입력) 텍스트가 겹치게됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top