
こんにちは。
gccコマンドは、cygwinに付属していたものを使っています。
fopen関数でファイルを出力用にオープンし、fputs関数などで、何かしらの文字を書き込むCソースファイルを作成したとします。
このCソースファイルから、実行ファイルをビルドする際、
gccコマンドをオプション無しで使って実行ファイルをビルドし、その実行ファイルを実行すると、エンコーディングが"BOM無し"のUTF-8である出力ファイルが作成されます。
ですがこれだと、Emacsなどで開いた時に、バッファのコーディングシステムがraw-textになって、文字がきちんと表示されません。
gccコマンドには、ビルドされた実行ファイルが、エンコーディングが"BOM付き"のUTF-8であるファイルを出力するように指定する、オプションはありますでしょうか?
今回、ググっても1つも手掛かりが見つからなかったので、質問させて頂きましたので、
gccに詳しい方、是非よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
この場合ファイルの入出力はcygwinのライブラリがやってるのでgcc関係ありませんが。
それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。
emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。
御回答ありがとうございます。
>それにBOM付きにするとgccを含めたcygwinが提供するコマンドが対応してなさそうな気がしますけど。
BOMは邪魔になるケースが多いんですね。
知りませんでした。
>emacsに関しては設定次第でBOMなしでもutf-8として認識させられるはず。
確かに、emacsの設定を変える方がよさそうですね。
そちらの路線で考えてみます。
No.3
- 回答日時:
gcc自体にはコード変換機能はありませんので、fputsの際の元データがUTF-8だっただけだと思われます。
ちなみに、LANG環境変数は設定されていますでしょうか。
Emacs使いではないので正確な回答は出来ませんが、LANGが正確に設定されていないとvim等も正確に表示出来ないですので・・・。
No.2
- 回答日時:
fputs 自体にコード変換機能はありません。
UTF-8で書かれたものを出力したからUTF-8になっただけです。
BOMを出力したれば、明示的にBOMを出力してください。
文字コードは
default-buffer-file-coding-system
とか
file-coding-system-alist
とかでデフォルトの値を決めることもできます。
BOMを必要とするアプリの方が少なく、むしろ邪魔になるアプリも多いので、無理に付ける必要は無いと思います。
御回答ありがとうございます。
>文字コードは
>default-buffer-file-coding-system
>とか
>file-coding-system-alist
>とかでデフォルトの値を決めることもできます。
>
これらについて調べてみて、試してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Acccess レポートをグループ別...
-
ファイル形式またはファイル拡...
-
VC++でUTF-8のファイルを出力し...
-
二次元配列をクリップボードに...
-
コマンド(例えばls)の出力結果...
-
ファイルの文字コードをUTF-8に...
-
Wordマクロで指定したフォルダ...
-
AccessVBA複数レポート条件毎に...
-
テキストファイルに改行コード...
-
ファイルI/O完了待ち
-
windowsでテキストファイルの比...
-
C言語のローカル変数初期化に...
-
【ExcelVBA】UTF-8(BOM無)でC...
-
フォルダにあるPDF情報の抽出(VBA)
-
コンソールプログラムで、クリ...
-
MATLABのCSV形式での書き込みに...
-
ファイル出力の場所を指定
-
Accessでのレポート印刷待機方法
-
VBSでEXCEL⇒CSV変換で日付の書...
-
printfだと出力されるのにfprin...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
【ExcelVBA】UTF-8(BOM無)でC...
-
ファイル出力の場所を指定
-
VC++でUTF-8のファイルを出力し...
-
ファイルの文字コードをUTF-8に...
-
シェルコマンドの 2>&1 とはど...
-
Acccess レポートをグループ別...
-
BitBltについて。
-
Wordマクロで指定したフォルダ...
-
ファイル形式またはファイル拡...
-
CSV形式に変換
-
テキストファイルに改行コード...
-
C++ fprintf_sの使い方がわからん
-
外国語とCSVについて
-
1行ずつではなくまとめてファイ...
-
pcap形式データをテキストへ抽出
-
重複チェックプログラム
-
AviUtlでAVI出力が途中までしか...
-
CBool関数について VB6とVB.net...
-
標準出力とファイルに効率的に...
おすすめ情報