- ベストアンサー
C言語のコンパイルで#がエラーになり色指定不可
C言語ファイルをコンパイルしようとしています。 C言語ソースの中の <table border=0 cellpadding=0 cellspacing=0 width=100% bgcolor=#ffffff> に対し、 list.c:133: error: stray '#' in program というエラー構文が出てきました。 #は使えないのでしょうか? 色指定はどうするのでしょうか? 解決方法をご教授いただきたくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「<table border=0 cellpadding=0 cellspacing=0 width=100% bgcolor=#ffffff>」はcのプログラムからすれば単なるデータのはずです。#があることでエラーになるのであれば、それはcの構文として解釈されているということなので、データとして記述したはずのものがそう扱われていないわけです。 なので、この文字列の前後をどう記述しているかという部分まで含めないと、なぜデータとして扱われないかの原因はわかりません。 次の質問のあるように、複数行の文字列をそのまま改行して記述していたのであれば、それが原因の可能性もあります。
その他の回答 (3)
- php504
- ベストアンサー率42% (926/2160)
list.cの133行目のエラーですね 該当する行を含む前後のソースをそのままコピーして貼り付けましょう
お礼
有難うございます。 ご指摘の通り、その文字そのものではなく、周りの影響でした 開業部分に\n\を付けたら全てエラーが消えました。 本当にありがとうございました。
- Wr5
- ベストアンサー率53% (2173/4061)
printf()系の中…ですか? でしたら、 width=100% bgcolor は width=100%% bgcolor とする必要があったかと思いますが…。 # 端折りすぎでわかりにくいです。
お礼
有難うございます。 width=100%% bgcolor のご指摘ありがとうございます。 今回の原因は、その文字そのものではなく、周りの影響でした 開業部分に\n\を付けたら全てエラーが消えました。 本当にありがとうございました。
- uruz
- ベストアンサー率49% (417/840)
>C言語ソースの中の <table border=0 cellpadding=0 cellspacing=0 width=100% bgcolor=#ffffff> これってどう見てもC言語ではなくHTMLのコードだけど....
お礼
今回の原因は、その文字そのものではなく、周りの影響でした 開業部分に\n\を付けたら全てエラーが消えました。 本当にありがとうございました。
補足
はい、C言語のCGIの構文(xxx.c)の中で HTML表記させる部分のコードがあり、その中に上記が入っているものです。 コンパイルするとlist.c:133: error: stray '#' in programが出てきます。 宜しくお願い致します。
お礼
>次の質問のあるように、複数行の文字列をそのまま改行して >記述していたのであれば、それが原因の可能性もあります。 有難うございます。 ご指摘の通りでした。\n\を付けたら全てエラーが消えました。 本当にありがとうございました。