質問

大学の課題で友人を助けようとしていますが、CとLexをたくさん忘れました。

問題は、HTMLと対応するCSSファイルを解析し、スタイルにタグを追加しようとしていることです。

例:

HTML

<body>
</body>

CSS

body{color:black;}

変更されたHTML

<body style="color:black;">
</body>

すべての正規表現とマクロも完了しました。

問題:入力HTMLと変更されたHTMLは同じファイルでなければなりません。 yyin yyout の両方を同じファイルにリダイレクトしようとしました...そして、fputs(text、yyout)を使用しました。ここで、テキストはすべてのスタイル情報を含むchar *です(およびstyle =&quot;&quot;)。動作しません。

だから...君たちは彼を助けることができる?

ファイル内の場所の概念を失わないことが重要です(したがって、style =&quot;&quot;は正しいタグに移動します)。

ありがとう

役に立ちましたか?

解決

yyinとyyoutを同じファイルにリダイレクトすることはできません(既にご存知のように)。私のアプローチは次のとおりです。

  1. 一時ファイルを作成
  2. yyoutは一時ファイルに書き込みます
  3. 解析が終了したら、安全のために入力ファイルをバックアップします
  4. 入力ファイルを一時ファイルに置き換える

他の方法はありません。yyoutがyyinと同じ場合(元の入力)テキストは重複します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top