"", "&" を変換
"<", ">", "&" を変換
前回作成した、最低限機能の「SourceToHTML」では、
コード中の、"<", ">", "&" が間違って解釈されるので、
これらを、"<", ">", "&" に変換する機能を
charcopyに追加してtohtmlを作成する。
//ソースファイルを読んで、ソース部を出力する
Reader source = new Reader("Form1.cs");
tohtml(source, writer);
source.Close();
source = null;
//*********************************************************************
// HTML に書式化して出力
//*********************************************************************
public void tohtml(Reader reader, Writer writer)
{
//ファイルの終わりまで、1文字ずつ読んで
char c;
while ((c = reader.getChar()) != EOF)
{
// "<", ">", "&" を変換して出力
writer.putString(getHtmlChar(c));
}
}
//*********************************************************************
// "<", ">", "&" を変換
//*********************************************************************
private string getHtmlChar(char c)
{
if (c == '<') return "<";
if (c == '>') return ">";
if (c == '&') return "&";return c.ToString();
}
出力ファイル用クラスには、文字列単位で処理できる関数
putStringを追加する。
//*********************************************************************
// 出力ファイル用クラス
//*********************************************************************
public class Writer
{
//*****************************************************************
// 出力ファイルに文字列を書く
//*****************************************************************
public void putString(string s)
{
for (int i=0;i<s.Length;i++)
{
putChar(s[i]);
}
}
}