• ベストアンサー

インデントってどうやって表示するの?

プログラムのソースプログラムをウェブに載せたいのですがホームページビルダーなどに ソースをこぴぺすると全て字下げがなくなってしまいます。 こんな感じです。 #include<stdio.h>   int main(){     printf("hello\n");   return 0; } これが #include<stdio.h> int main(){ printf("hello\n"); return 0; } こうなってしまうわけですね。 字下げはTABキーのインデントで行っています。 1行ずつスペースを書いていけばいいのでしょうけど 何しろ何百行もあるソースですのでそれは無理です。 字下げを失わずにHTMLに変換することできないでしょうか?

  • dra2jp
  • お礼率27% (168/613)
  • HTML
  • 回答数11
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • pi8027
  • ベストアンサー率11% (6/53)
回答No.11

pre要素でマークアップしてください。 あと、それはサンプルコードなので、code要素でマークアップする必要があります。 また、<と>は実体参照で書けば大丈夫。 結論: <pre><code>#include&lt;stdio.h&gt;   int main(){     printf("hello\n");   return 0; }</code></pre>

その他の回答 (10)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.10

<textarea></textarea> を使うっていうのもありかと <>なんかは既に書かれているように変換

  • aqucent
  • ベストアンサー率39% (78/200)
回答No.9

#8です。 #3 の方が指摘されているようですが、上手く表示されていないようなので代わりに説明を。 <>& はHTML上では特殊文字なので、実体参照に置換してください。 HTML文字実体参照一覧 http://yue.sakura.ne.jp/melody/ware/iso88591.html 先程は説明しませんでしたが、ついでなのでもう一つ。 HTML文法上、pre要素内にTab文字を書くことは避けることが推奨されています。 (ただ、主要なWebブラウザでTab文字が表示されているようなので、私は気にせず、Tab文字を使っています。) この辺は、ポリシーの問題なので、よく考えて決めて下さい。 Another HTML-lint : Explanation http://openlab.ring.gr.jp/k16/htmllint/explain.html#tab-in-pre

  • aqucent
  • ベストアンサー率39% (78/200)
回答No.8

pre要素で括るか、CSSの "white-space: pre" を適用するのが手っ取り早い解決法です。 インデント文字(Tab)を一括置換するなら、「空白の実体参照」か全角空白でしょうね。 (単純に、半角空白に置換すると、複数個の半角空白も1つの半角空白として表示してしまいます。) それと、コード文を記述するときには、code要素で括るか、 "font-family: monospace" を適用して、等幅フォントで表示させた方が良いと追います。 コード文は等幅フォントでないと読みにくいですから。

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.7

何百行もあるならば、テキストファイルとしてインラインフレームに読み込むとか、単純にテキストファイルを単独でリンクするとかいった方法の方が読みやすい気がします。 (無理にHTMLに埋め込む必要はないように感じます。)

noname#19206
noname#19206
回答No.6

Tab や行頭の半角スペースは基本的に無視して表示されます。 半角スペースに関しては &nbsp; など実体参照で出力するようにしなければなりません。 Tab は…試して見たことがないので知りません。

回答No.5

参考URLのようなツールを使うのはどうでしょう? 気にいらなければ、自分好みの変換プログラム作っちゃうのも手ですよ。

参考URL:
http://www.vector.co.jp/soft/winnt/net/se339426.html
  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.4

質問文と同じように、全角スペースでインデントすればちゃんと表示されます。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 追記です。「<」とか「>」とか「&」は <>&にする必要があります。 テキストエディタの置換機能を使えば大丈夫ですかね。

  • matui2000
  • ベストアンサー率19% (30/155)
回答No.2

秀丸などでTABをSPACEに置き換えられてみてはどうでしょうか?

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 <pre></pre> で囲んではいかがでしょうか?

関連するQ&A

  •  現在、私はC言語を学んでいます。

     現在、私はC言語を学んでいます。  プログラミングの初期の初期の問題なんですが、 「Hello World」という有名なプログラムがありますよね? それについての質問です。 #include<stdio.h> main() { printf("Hello World"); return 0; } も #include<stdio.h> main(void) { printf("Hello World"); return 0; } も #include<stdio.h> int main() { printf("Hello World"); } もちゃんと表示できます。 ここで質問です。 int main(void) int main() main() main(void) はどう違うんですか? あと、 return 0; はあっても無くてもいいようなんですが どういう意味があるんでしょうか?

  • C言語プログラミングについて

    #include <stdio.h> int main(void) { printf("hello,world\n"); } □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ #include <stdio.h> int main(void) { printf("hello"); printf(",world"); printf("\n"); } 上の2つのプログラムをコンパイルするとどのような違いが生じるんですか??printfってどんな働きをするんですか?

  • LaTeXでソースコード

    LaTeXで文書中にソースコードを 行番号付きで載せるのはlistings.styを使ってできたのですが、 行番号 + “:”(セミコロン)で表示するような方法はないでしょうか。 例えば、こんな風にです 1: #include <stdio.h> 2: 3: int main(void){ 4: printf("hello\n"); 5: return 0: 6: }

  • borlandについて

    こんばんは Borland C++ Compiler 5.5 を使っているのですが… _______________ |#include <stdio.h>      |←のようなプログラムをコンパイル |               | したら |int main(void) |1:インクルードファイル'stdio.h'を |{              | オープン出来ない | printf("Hello.\n");   |5:プロントタイプ宣言のない関数 | return 0;        | 'printf'の呼び出し(関数mein) |}              |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ と出てきますどうしたらよいでしょうか。

  • 配列について

    初歩的な質問ですいませんが、質問よろしくお願いします。 ◎1----------------------------- #include<stdio.h> int main(void) { char ss[10]="AB"; printf("ss=%s\n",ss); return 0; } ------------------------------------ ◎2-------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss[0]='A'; ss[1]='B'; ss[2]=0; printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎3------------------------------- #include<stdio.h> #include<string.h> int main(void) { char ss[10]; strcpy(ss,"AB"); printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎4------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss="AB"; printf("ss=%s\n",ss); return 0; } ---------------------------------- 以上4つのプログラムで、◎2と◎3は正常に動くと理解できたのですが、何故、◎1は正常に動き、◎4は「'const char [3]' から 'char [10]' に変換できません。」といったようなエラーが出てしまうか分かりません。 教えていただければ嬉しいです。

  • ソースのおかしいところ

    ソースのおかしいところ教えてください。 #include <stdio.h> main() {     printf("Hello!");     return 0; }

  • VisualC++ ビルド失敗

    #include<stdio.h> int main(){ printf("Hello World\n"); return 0; cin.ignore(); } >>cin.ignore(); これで画面がすぐに消えないようにしたいのですが、定義されてない識別子と出ます。 教えてください・・・よろしくお願いします。

  • borlandについてなんですが

    windows vista にBorland C++ Compiler 5.5をインストールし、説明が書いてあるサイトどおりに設定したんですけど、コンパイルすると エラーE2209 hello.c 1:インクルードファイル'stdio.h'をオープンできない 警告 W8065 hello.c 5: プロトタイプ宣言のない関数'printf'の呼び出し(関数 main) と出てコンパイルすることができません。 使用したプログラムは #include <stdio.h> int main(void) { printf("Hello.\n"); return 0; } です。 解る方いましたら教えてください。 よろしくお願いします。

  • ASCIIコード入力

    プログラムを作っていてどうしてもわからなくなりまして… #include <stdio.h> int main(void) { char c; c=38; printf("%c\n",c); return 0; } この場合は&が出てくるからいいんですけど… #include <stdio.h> int main(void) { char c; scanf("%c",&c); printf("%c\n",c); return 0; } この場合は97をscanすると9が出てきます。ASCIIコード入力でaを表示させたいんですが、何が間違っているのでしょうか? 初心者なもので…お願いしますm(__)m

  • C言語について

    #include <stdio.h> int main(void) { printf("123456\tABC DEFGHIJK\n"); printf("2006/4/14\n"); printf("programing\n"); } のprintfをすべてputsに書き換えてコンパイル・実行すると、 #include <stdio.h> int main(void) { puts("123456\tABC DEFGHIJK\n"); puts("2006/4/14\n"); puts("programing\n"); } になると思うんですけど、そのputsを用いて上のprintfを用いたプログラムと同じ出力を得るにはどのようなプログラムに変えればいいのでしょうか?

専門家に質問してみよう