こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C言語をHTMLに整形してくれるツールを探しています

C言語のソースをHTMLに直してくれるサイトやプログラムはあるでしょうか・・・。見やすいように一行おきに背景色を付けてくれるものを探しているのですがVectorでは見つけられなくて質問しました。

投稿日時 - 2007-11-20 15:38:19

QNo.3533431

tx1

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

No.2です。
下記のprintHTML関数の本体部分を先ほどの「c2html.c」へ
追加してください。
void printHTML(FILE *stream, const char *str)
{
int i;

for(i=0; *(str+i) != '\0'; i++){
switch(*(str + i)){
case '<':
fprintf(stream, "&lt;");
break;
case '>':
fprintf(stream, "&gt;");
break;
case '&':
fprintf(stream, "&amp;");
break;
case '\t':
fprintf(stream, "&nbsp;&nbsp;&nbsp;&nbsp;");
break;
default:
fprintf(stream, "%c", *(str + i));
break;
}
}
}
色設定は適当ですので、お好みで変更していただければと思います。

投稿日時 - 2007-11-20 17:50:07

ANo.2

単純なHTMLでよければこんなのでどうでしょう?
「c2html.c」というファイルを作成し、コピーしてみてください。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void printHTML(FILE *stream, const char *str);

#define BUF_SIZE 256

int main(int argc, char *argv[])
{
FILE *fpSource, *fpOut;
char buf[BUF_SIZE];
char *color[2] = {"lightgreen", "white"};
int idx = 0;

if(argc < 3){
printf("Usage:\n");
printf(">c2html <source.c> <out.html>\n");
exit(0);
}

printf("%s -> %s\n", argv[1], argv[2]);

fpSource = fopen(argv[1], "r");
fpOut = fopen(argv[2], "w");

if(fpSource == NULL || fpOut == NULL){
printf("File open error\n");
exit(1);
}

fprintf(fpOut, "<html>\n");
fprintf(fpOut, "\t<head>\n");
fprintf(fpOut, "\t\t<title>%s</title>\n", argv[1]);
fprintf(fpOut, "\t</head>\n");
fprintf(fpOut, "<body>\n");
fprintf(fpOut, "<h3>%s</h3>\n", argv[1]);
fprintf(fpOut, "\t\t<table border='0'>\n");
while(fgets(buf,BUF_SIZE,fpSource) != NULL){
buf[strlen(buf)-1] = '\0';
fprintf(fpOut, "\t\t\t<tr bgcolor='%s'><td align='right'>%d:</td><td>", color[idx % 2], idx+1);
if(strlen(buf) == 0){
fprintf(fpOut, "&nbsp;");
}else{
printHTML(fpOut, buf);
}
fprintf(fpOut, "</td></tr>\n");
idx++;
}
fprintf(fpOut, "\t\t</table>\n");
fprintf(fpOut, "\t</body>\n");
fprintf(fpOut, "</html>\n");

fclose(fpSource);
fclose(fpOut);

return 0;
}

printHTML関数が入りきらなかったので、申し訳ありませんが
連投させていただきます。

投稿日時 - 2007-11-20 17:46:16

ANo.1

SourceConverterっていうソフトがありますが、どうでしょうか?
Cにも対応しているようです。

参考URL:http://www.forest.impress.co.jp/lib/stdy/program/progsupt/srcconverter.html

投稿日時 - 2007-11-20 16:24:22

補足

これも1行ごとに色つけできないタイプですね・・・

投稿日時 - 2007-11-21 06:40:29

あなたにオススメの質問